我制作了我的第一个应用程序,它有一个任务管理器,为此,我制作了一个表视图,您可以在其中输入"任务"通过警报。如何保存输入的"任务"?我做了一些研究,然而,我无法找到答案。 代码如下: (斯威夫特2)
import UIKit
class ThirdViewController: UIViewController, UITableViewDataSource{
var items: [String] = []
@IBOutlet weak var listTableView: UITableView!
@IBAction func additem(sender: AnyObject) {
alert()
}
@IBAction func savebtn(sender: AnyObject) {
print (items)
}
override func viewDidLoad() {
super.viewDidLoad()
listTableView.dataSource = self
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("listitem") as! ItemTableViewCell
cell.itemLabel.text = items[indexPath.row]
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func alert() {
let alert = UIAlertController(title: "", message: "", preferredStyle: .Alert)
alert.addTextFieldWithConfigurationHandler{
(textfield) in
textfield.placeholder = "Enter your task"
}
let add = UIAlertAction(title: "Add ", style: .Default) {
(action) in
let textfield = alert.textFields![0]
self.items.append(textfield.text!)
self.listTableView.reloadData()
}
let cancel = UIAlertAction(title: "Cancel", style: .Cancel) {
(alert) in
print ("Hi")
}
alert.addAction(add)
alert.addAction(cancel)
presentViewController(alert, animated: true, completion: nil)
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
items.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
答案 0 :(得分:1)
我不确定我是否正确理解了您的问题,但我认为阅读Apple的教程并遵循" Persist Data"一部分。
这是一个分步教程,附带详细解释。应该能够很好地了解如何为简单的应用程序保存数据。 (如果需要更大的数据库,可以阅读核心数据。)
答案 1 :(得分:1)
您可以保存本地或云端的任何内容,
本地 - >核心数据或领域
云 - >您的自定义API(显然您尚未做好准备)或Cloud API(Firebase,Backendless)
观看所有这些教程,为您的目的选择一个教程,以及将来对该应用的看法。
祝你好运。答案 2 :(得分:0)
The easiest way to Persist Data or store data even after your application is terminated or closed is use RMMapper,it work like nsuserdefaults but by using RMMapper we can store whole object..
//set
UserDefaults.standard.rm_setCustomObject(Obj1, forKey: "myObject")
//retrive
let obj = UserDefaults.standard.rm_customObject(forKey: "myObject")