首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不能对不可变值使用变异成员:'n‘是'let’常量

不能对不可变值使用变异成员:'n‘是'let’常量
EN

Stack Overflow用户
提问于 2018-07-30 01:43:26
回答 1查看 692关注 0票数 1

我正在使用rss从一个网站获取数据。我想将这些数据设置为struct中的变量,但在for循环中遇到错误。

代码语言:javascript
复制
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)
                    }                    
                }             
            }
        }        
    }

.
.
.

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 01:48:55

我认为您正在尝试使用来自feed.items的值用新的News实例填充NewArray数组。如果是这样的话,你的代码应该是:

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51582952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档