اطلاعیه

Collapse
هیچ اطلاعیه ای هنوز ایجاد نشده است .

دوره آموزش swift - درس ۱۸: آشنایی با CoreData - پارت ۱

Collapse
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
new posts

  • دوره آموزش swift - درس ۱۸: آشنایی با CoreData - پارت ۱

    با سلام و عرض ادب
    در این بخش به یادگیری بخش مربوط به دیتابیس Xcode می پردازیم که Core Data نام دارد. در این آموزش با یادگیری ساخت یک اپلیکیشن ساده با مبحث Core Data بیشتر آشنا خواهیم شد.
    برای شروع کار Xcode را باز کرده و اپلیکیشنی بر مبنای Single view با نام List (یا هرچه که بخواهید) ایجاد می کنیم. به این نکته دقت کنید که در محیط انتخاب اسم, تیک Use core data را زده باشید. با فعال سازی تیک Core data به xcode اجازه تولید کد هایی که نام core data stack شناخته می شود را می دهید. Core data stack شامل محموعه ای از عناصر است که به کاربر جهت ذخیره و بازیابی اطلاعات از Core data کمک می کند.

    ایده اپلیکیشن این آموزش بسیار ساده است, در این اپلیکیشن جدولی از اسم ها وجود خواهد داشت که در نهایت core data اجازه ذخیره هر اسم در مقاطع مختلف را خواهد داد.

    نخست view controller را انتخاب کرده و از منوی Editor/ Embed in/ Navigator controller را انتخاب کنید.



    در صفحه جدید باز شده, یک Table view از object library دراگ کرده و آنرا در سراسر باز کنید و سپس با چهار طرف این جدول را فیکس کنید. سپس یک bar button item انتخاب کنید و در گوشه سمت راست table view اضافه کرده. این این کلید را Add می گذاریم.



    در اینجا می بایست صفحه جدید view contoller را که هم اکنون به table view اختصاص دارد, صفحه ای برای منابع اطلاعاتمان قرار دهیم. برای اینکار کلید کنترل را نگه می داریم و table view را به آیکون زرد بالای view controller درگ می کنیم و گزینه Data source را انتخاب می کنیم.


    سپس در ادامه table view را به صورت outlet در بخش کد ها معرفی می کنیم

    کد:
    @IBOutlet weak var tableView: UITableView!
    و سپس کلید add

    کد:
    @IBAction func AddName(_ sender: AnyObject) {
        }
    در ادامه در یک متغیر اسم ها را از نوع String و در یک آرایه معرفی می کنیم

    کد:
    var names = [String]()

    سپس در قسمت viewDidLoad کد های زیر را اضافه کنید.

    کد:
     
    override func viewDidLoad() { super.viewDidLoad() title = "\"The List\"" tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") }
    نکته: در سوئیفت 2 به جای register می بایست از registerClass استفاده کنید


    این کد ها به کاربران اجازه می دهد که یک عنوان و یک ردیف را را برای داده های وارد شده ثبت کنند. در ادامه می بایست UITableViewDataSource را به اسم کلاس در viewContoller.swift اضافه کنید.

    کد:
    class ViewController: UIViewController, UITableViewDataSource {
    با اضافه کردن UITableViewDataSource اروری در Xcode مشاهده خواهد شد که اعلام می کند که viewcontroller پروتوکل های مربوط به UITableViewDataSource jت تایید نمی کند. برای رفع این ارور کد های زیر را به مجموعه اضافه می کنیم. اضافه کردن این کد ها در سوئیف ۳ اجباری شده است.

    کد:
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return names.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") cell!.textLabel!.text = names[indexPath.row] return cell! }

    نکته: در سوئیفت 2 به جای dequeueReusableCell می بایست از dequeueReusableCellWithIdentifier استفاده کنید

    اگر تاکنون با UiTableView کار کرده اید این کد ها برایتان آشنا به نظر می آید. در این بخش اعلام کرده ایم که Table view باید به تعداد اسم های وارده ردیف داشته باشد

    در نهایت در بخش Action کلید Add کد های زیر را اضافه می کنیم

    کد:
      let alert = UIAlertController(title: "New Name",
                                          message: "Add a new name",
                                          preferredStyle: .alert)
            let saveAction = UIAlertAction(title: "Save",
                                           style: .default,
                                           handler: { (action:UIAlertAction) -> Void in
                                            let textField = alert.textFields!.first
                                            self.names.append(textField!.text!)
                                            self.tableView.reloadData()
            })
            let cancelAction = UIAlertAction(title: "Cancel",
                                             style: .default) { (action: UIAlertAction) -> Void in
            }
            alert.addTextField {
                (textField: UITextField) -> Void in
        }
            alert.addAction(saveAction)
            alert.addAction(cancelAction)
            present(alert,
                                  animated: true,
                                  completion: nil)

    کد های فوق در سويفت ۳ قابل اجرا هستند. اگر از سوئیفت ۲ استفاده می کنید

    alert را به Alert
    default را به Default
    addTextField را به addTextFieldWithConfigurationHandler
    present را به presentViewController
    تفییر دهید

    بعد از اجرای برنامه می توانید لیست از نام ها را ایجاد کنید. در پارت آینده این آموزش, کمی به عمق بیشتر Core data خواهیم رفت.


    i-phone.ir
    The Best or Nothing



    Twitter : Rouzbeh7000

  • #2
    roozbeh7000 عزیز به خاطر این پست مفید سپاس

    نظر

    صبر کنید ..
    X