在下面的代码中,我试图使用parse查找对象。当我通过注释self.names.append((object["username"] as? String)!)
打印对象时,我得到了具有用户名(我想要的属性)的对象。
当我在没有注释self.names.append((object["username"] as? String)!)
的情况下打印对象时,我会得到完全相同的对象,但没有用户名(我想要的属性)。
我与self.comments.append((object["Comment"] as? String)!)
完全一样,但确实有效。
我很肯定我没有犯任何拼写错误,包括大写。 (注释是大写的,用户名不是)
var comments = [String()]
var names = [String()]
var images = [UIImage()]
var imageFiles = [PFFile]()
override func viewDidLoad() {
super.viewDidLoad()
let query = PFQuery(className:"Post")
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
for object in objects! {
print(object)
self.comments.append((object["Comment"] as? String)!)
self.names.append((object["username"] as? String)!) < Error Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
self.imageFiles.append(object["imageFile"] as! PFFile)
self.tableView.reloadData()
}
} else {
// Log details of the failure
print("error")
}
}
}
提前谢谢!
答案 0 :(得分:0)
以这种方式声明并初始化所有数组:
var comments = [String]()
var names = [String]()
var images = [UIImage]()
var imageFiles = [PFFile]()
如果username
密钥丢失,您必须检查它。使用此代码,如果密钥丢失,则会附加n/a
。
self.names.append((object["username"] as? String) ?? "n/a")