浏览论坛,我发现这个问题时不时出现。显然,在广泛的不同情况下这样做。我设法找到的没有一个似乎与我的相似。
在创建一个可用的 Twitter 应用程序方面,我的程序(课程)已经完成了一半。测试它当前可以正常运行程序,没有任何错误。但是,当我选择一个帐户时,程序会崩溃,并且应该在图像方法中显示一条错误消息,该方法应该加载所选用户的头像。我假设它根本无法检索有效图像或获取数据(因为调试区域中的 ImageData = (NSDATA?) nil 行),但我对任何事情都不确定,更不用说如何或在哪里可以找到解决方案。如果我使用错误的关键字搜索,请告诉我。(我正在搜索 exc_bad_instruction 和 uiimage 错误)提前致谢。
我将在下面出现问题的地方发布代码片段,以及下面的调试区域中显示的内容。
if let cachedImage = image {
cell.tweetUserAvatar.image = cachedImage
}
else {
cell.tweetUserAvatar.image = UIImage(named: "camera.png")
queue?.addOperationWithBlock() {
let imageURL = NSURL(string: imageURLString) as NSURL!
let imageData = NSData(contentsOfURL: imageURL) as NSData?
let image = UIImage(data: imageData!) as UIImage? // EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subode=0x0)
if let downloadedImage = image {
NSOperationQueue.mainQueue().addOperationWithBlock(){
let cell = tableView.cellForRowAtIndexPath(indexPath) as! TweetCell
cell.tweetUserAvatar.image = downloadedImage
}
self.imageCache?.setObject(downloadedImage, forKey: imageURLString)
}
}
}
调试区:
imageURLString String
"http://pbs.twimg.com/profile_images/465756113825067008/8jH2nZO0_normal.png"
tableView UITableView 0x00007fc52481b400
indexPath NSIndexPath * 0xc000000000000016
self Chapter7_8___Social_App.FeedViewController 0x00007fc5235f5ef0
imageURL NSURL! "http://pbs.twimg.com/profile_images/465756113825067008/8jH2nZO0_normal.png"
imageData NSData? nil None
image UIImage? 0x000000010ee778dd
downloadedImage UIImage