ios - 不能对不可变值使用变异成员:“n”是“让”常量
问题描述
我正在使用 rss 从网站获取数据。我想将这些数据设置为 struct 中的变量,但在 for 循环中出现错误。
struct News {
var title: String
var link: String
}
class HaberTableViewController: UITableViewController, XMLParserDelegate {
var NewsArray:[News] = []
override func viewDidLoad() {
let url = "http://www.ensonhaber.com/rss/ensonhaber.xml"
Alamofire.request(url).responseRSS() { (response) -> Void in
if let feed: RSSFeed = response.result.value {
for item in feed.items {
print(item.title!)
for n in self.NewsArray
{
n.title.append(item.title)
n.link.append(item.link)
}
}
}
}
}
.
.
.
}
解决方案
我认为您正在尝试NewArray
使用News
来自feed.items
. 如果是这种情况,那么您的代码应该是:
if let feed: RSSFeed = response.result.value {
for item in feed.items {
if let title = item.title, let link = item.link {
let news = News(title: title, link: link)
NewsArray.append(news)
}
}
}
请注意,这也涉及item.title
(并且可能item.link
)是可选的。
请注意,变量名应该以小写字母开头,所以NewsArray
应该是newsArray
.
推荐阅读
- python - 在 Tkinter 中显示视频流,使用全窗口
- emacs - Emacs:使用 markdown-preview-eww 时遇到问题
- extjs - 在网格行外部单击时防止在网格中创建空行
- curl - 如何使用 curl 下载为 ThinkOrSwim (TOS) 编写的脚本?
- pyomo - 在 Ubuntu Linux 20.04 上安装带有 AMPL 的 SCIP 7.0.2 以与 Pyomo 一起使用
- r - R模型变量得分
- regex - 匹配 () 和不在引号内的字符串
- javascript - 如何用纯 Javascript 替换 jQuery change 和 val 方法
- amazon-dynamodb - 使用 beginWith 在排序键中搜索使用 dynamoose .get
- python - Python pandas:查找字符串是否包含任何行值