【发布时间】:2018-03-04 04:30:54
【问题描述】:
我制作了一个结构字典来获取用户标题和 URL,然后将它们存储在手机上,但是当我在 cellForRow 方法中检索数据时,单元格标签为空,应该出现的是标题。 (tableView 一开始是空的,直到用户开始使用 AddArticle 操作填充它)
所以我的问题是我是否做得对,因为单元格标签结果为零?
结构字典:
struct AddMagazine {
let rssUrl: String
let title: String
init(dict: [String : String]){
title = dict["title"] ?? ""
rssUrl = dict["rssUrl"] ?? ""
}
}
var userMagazineTitle = [AddMagazine]()
从 textField 中获取值:
@IBAction func AddArticle(_ sender: Any) {
animateIn()
tableView.isScrollEnabled = false
}
func addArticleTitle() {
let UserMagazines = AddMagazine.init(dict: ["title": RssTitle.text!, "rssUrl": RssText.text!])
let storedRssUrl = UserMagazines.rssUrl
self.dataString = storedRssUrl
//setting
defaults.set(dataString, forKey: "storedArray")
userMagazineTitle.append(UserMagazines)
tableView.reloadData()
}
尝试在此处检索标题:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! MyFeedTableViewCell
let headlineName = defaults.object(forKey: "storedArray") as? AddMagazine
cell.myHeadline.text = headlineName?.title
cell.indentationLevel = 3
return cell
}
【问题讨论】:
-
我没有看到您正在阅读 UserDefaults 文件的一行。另外,您的标题中不存在“retireve”一词。
-
除了您的问题
UserDefaults是与表视图数据源相关的临时数据的错误位置。
标签: ios swift uitableview struct nsuserdefaults