我正在使用XCode 7.0并正在参加iTunesU课程,斯坦福CS193p。该程序“Smashtag”旨在显示与搜索相关的推文。我试图添加我自己的功能来点击推文,并将其显示在不同的视图控制器中。该tableviewcell类有一个变量:意外地发现零,同时展开可选AFTER有条件展开
var tweet: Tweet?
的鸣叫类有一个用户,其中包含了网名和名称,以及为他们的个人资料图片的网址这是一个可选的。在我的表视图控制器,我点击一个细胞后创建一个赛格瑞:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let vc = segue.destinationViewController as? ViewController{
if let identifier = segue.identifier{
if identifier == "showTweet"{
if let selectedTweet = sender as? TweetTableViewCell{
vc.tweetToDisplay = selectedTweet.tweet!
}
}
}
}
然后在我的其他视图控制器,我已经在不同的线程:
self.profileImage.image = UIImage(data: imageData)
self.tweetMedia.image = UIImage(data: mediaData)
self.userName.text = "\(tweetToDisplay.user.name)"
self.userScreenName.text = "\(tweetToDisplay.user.screenName)"
if let body = tweetToDisplay.text{
self.tweetBody.text = body
}
用户名,userScreenName, profileImage和tweetMedia都加载到视图控制器上;然而,tweetBody会在标题中给出错误并使程序崩溃。我尝试了tweetBody的可选链接;不过,tweetBody不会显示。任何帮助表示赞赏。
真正的问题似乎是'selectedTweet.tweet'为什么是零。这个价值应该如何填补? –
你确定'tweetBody'本身是否正确实例化? –
什么是tweetBody?你在哪里访问它? – Eendje