使用PFObject和PFQuery时,我在调试这段代码时遇到了困难:
.......
if let someContents = object.valueForKey("contents") {
let query = PFQuery(className: "TheContentList")
do {let object = try query.getObjectWithId(someContents.objectId)
print(object)
} catch {
print(error)
}
}通过上面的代码,我得到了这条使用getObjectWithId行的编译器消息
Cannot convert value of type 'String?!' to type 'String' in coercion如果我改变了:
query.getObjectWithId(someContents.objectId)至:
query.getObjectWithId("xyz23AcSXh")它编译并在调试器中得到以下内容:
(lldb) p someContents.objectId
(String?!) $R4 = "xyz23AcSXh"程序按预期打印一个对象。
所以问题是:,我应该如何写行query.getObjectWithId,以便能够使用someContents?内部的内容
发布于 2016-07-19 02:37:23
您的属性objectId,是Optional的Explicitly Unwrapped Optional。如果您确定它包含一个String,请使用以下方法展开它:
let object = try query.getObjectWithId(someContents.objectId!!)否则,如果你不确定:
if let objectId = someContents.objectId, id = objectId {
let object = try query.getObjectWithId(id)
}https://stackoverflow.com/questions/38448234
复制相似问题