我需要将一个数组加载到TableView的仅第一个单元格中,这意味着我希望将数据放在一行中。后记我需要保存这些数据,以便在关闭并重新打开应用程序后保留这些数据。 这是我的TableView类,它在每个单元格中加载数组的数据,而只是在第一个单元格中加载:
import UIKit
class ScoreboardViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let info = ["\(name01) ", "\(name02) ", "\(name03) ", "\(name04) ", "\(myCategory) ", "\(displayTime)"]
@IBOutlet weak var myTv: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.setHidesBackButton(true, animated: false)
myTv.delegate = self
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return info.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//Allocate a table view cell
let cell = myTv.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
cell.textLabel?.text = info[indexPath.row]
return cell
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
由于我不在我的应用中使用Core Data,最好将所有内容保存在文件中还是使用NSUserDefaults?
答案 0 :(得分:0)
您应该划分数据的数据和视觉输出 - 因此,下次启动时保存应用的数据不应该与UITableView
有任何关联 - 使用一些不错的模式,例如MVVM
或{{ 1}}。您可以使用某些存储机制,如MVC
,CoreData
作为键值数据,基于SQL,输出到文件以及许多其他存储机制。
在你的情况下,我认为NSUserDefaults
已经足够了。
答案 1 :(得分:0)
如果您只想存储Array
,请使用NSArray
并使用方便的方法writeToFile和arrayWithContentsOfFile
存储它。
对于数量有限的数据,您也可以滥用NSUserDefaults
。
对于大量数据(假设您不知道行数是否无关紧要),我强烈建议用户使用Core Data。