با سلام و عرض ادب
در این بخش به یادگیری بخش مربوط به دیتابیس 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 در بخش کد ها معرفی می کنیم
و سپس کلید add
در ادامه در یک متغیر اسم ها را از نوع String و در یک آرایه معرفی می کنیم
سپس در قسمت viewDidLoad کد های زیر را اضافه کنید.
نکته: در سوئیفت 2 به جای register می بایست از registerClass استفاده کنید
این کد ها به کاربران اجازه می دهد که یک عنوان و یک ردیف را را برای داده های وارد شده ثبت کنند. در ادامه می بایست UITableViewDataSource را به اسم کلاس در viewContoller.swift اضافه کنید.
با اضافه کردن UITableViewDataSource اروری در Xcode مشاهده خواهد شد که اعلام می کند که viewcontroller پروتوکل های مربوط به UITableViewDataSource jت تایید نمی کند. برای رفع این ارور کد های زیر را به مجموعه اضافه می کنیم. اضافه کردن این کد ها در سوئیف ۳ اجباری شده است.
نکته: در سوئیفت 2 به جای dequeueReusableCell می بایست از dequeueReusableCellWithIdentifier استفاده کنید
اگر تاکنون با UiTableView کار کرده اید این کد ها برایتان آشنا به نظر می آید. در این بخش اعلام کرده ایم که Table view باید به تعداد اسم های وارده ردیف داشته باشد
در نهایت در بخش Action کلید Add کد های زیر را اضافه می کنیم
کد های فوق در سويفت ۳ قابل اجرا هستند. اگر از سوئیفت ۲ استفاده می کنید
alert را به Alert
default را به Default
addTextField را به addTextFieldWithConfigurationHandler
present را به presentViewController
تفییر دهید
بعد از اجرای برنامه می توانید لیست از نام ها را ایجاد کنید. در پارت آینده این آموزش, کمی به عمق بیشتر Core data خواهیم رفت.
در این بخش به یادگیری بخش مربوط به دیتابیس 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!
کد:
@IBAction func AddName(_ sender: AnyObject) { }
کد:
var names = [String]()
سپس در قسمت viewDidLoad کد های زیر را اضافه کنید.
کد:
override func viewDidLoad() { super.viewDidLoad() title = "\"The List\"" tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") }
این کد ها به کاربران اجازه می دهد که یک عنوان و یک ردیف را را برای داده های وارد شده ثبت کنند. در ادامه می بایست UITableViewDataSource را به اسم کلاس در viewContoller.swift اضافه کنید.
کد:
class ViewController: UIViewController, UITableViewDataSource {
کد:
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 خواهیم رفت.
نظر