线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

时间:2015-11-16 20:28:42

标签: ios swift parse-platform

在下面的代码中,我试图使用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")
        }
    }
}

提前谢谢!

1 个答案:

答案 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")