【发布时间】:2015-11-04 06:15:17
【问题描述】:
在我的代码中,我在展开可选值时意外发现 nil,但我不知道如何解决问题,所以请说出我在此代码中犯了什么错误以及如何解决问题,我完全困惑最近几天是因为我是 swift 的新手?
我在这里给出我的代码.....
let dataArr : NSArray = responseObject.valueForKeyPath("response.result") as! NSArray
print(dataArr)
for vartype : AnyObject in dataArr
{
let titleStr : NSString = vartype.valueForKey("title") as! NSString
let messageStr : NSString = vartype.valueForKey("message") as! NSString
let date_updatedStr : NSString = vartype.valueForKey("date_updated") as! NSString
let postprofilephotoStr : NSString = vartype.valueForKey("postprofilephoto") as! NSString
let imgattachStr : NSString = vartype.valueForKey("attachments.image") as! NSString -----> //From This line I get the issue.
let audioattachStr : NSString = vartype.valueForKey("attachments.audio") as! NSString
let videoattachoStr : NSString = vartype.valueForKey("attachments.video") as! NSString
let ptypeStr : NSString = vartype.valueForKey("ptype") as! NSString
let attachmentStr : NSString = vartype.valueForKey("attachments") as! NSString
}
self.tableView.reloadData()
print("JSON: " + responseObject.description)
},
failure: { (operation: AFHTTPRequestOperation!,
error: NSError!) in
print("Error: " + error.localizedDescription)
})
【问题讨论】:
-
任何以
!结尾的类型都将在运行时强制解包。如果强制解包变量在解包时包含 nil,您将看到此错误。 Swift 强制你在编译时处理nil值。尝试将!替换为?并更改您的代码以使其编译。 -
我想在哪个地方替换? ..@nielsbot
标签: swift