【发布时间】:2015-12-02 10:34:46
【问题描述】:
我正在构建和应用程序,它通过解析将对象保存在本地数据存储中。然后我运行一个查询来检索本地数据存储中的对象,它工作正常。但是,我想抓取对象及其中的内容,并根据存储在解析本地数据存储对象中的项目在表格视图单元格中设置一些标签。例如,我制作了一个具有“objectID”、“name”、“date”、“location”等属性的对象。我想做的是在主屏幕上有一个表格视图,显示名称、日期、位置……等。在每个单元格的标签中保存在本地数据存储中的每个项目。
我知道我保存正确:
// parse location object
let parseLighthouse = PFObject(className: "ParseLighthouse")
parseLighthouse.setObject(PFUser.currentUser()!, forKey: "User")
parseLighthouse["Name"] = self.placeTitle.text
parseLighthouse["Note"] = self.placeNote.text
parseLighthouse["Locality"] = self.placeDisplay.text!
parseLighthouse["Latt"] = self.map.region.center.latitude
parseLighthouse["Longi"] = self.map.region.center.longitude
parseLighthouse["LattDelta"] = 0.5
parseLighthouse["LongiDelta"] = 0.5
parseLighthouse["Date"] = dateInFormat
parseLighthouse.pinInBackground()
parseLighthouse.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
println("Object has been saved. ID = \(parseLighthouse.objectId)")
}
当我运行查询时,我可以通过运行 println(object.objectForKey("Name")) 来访问属性
func performQuery() {
let query = PFQuery(className: "ParseLighthouse")
query.fromLocalDatastore()
query.whereKey("User", equalTo: PFUser.currentUser()!)
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if error == nil {
// The find succeeded.
println("Successfully retrieved \(objects!.count) lighthouses.")
// Do something with the found objects
if let light = objects as? [PFObject] {
for object in light {
println(object.objectId)
println(object.objectForKey("Name"))
}
}
} else {
// Log details of the failure
println("Error: \(error!) \(error!.userInfo!)")
}
}
因为在运行查询时,我按预期取回了对象 ID 和名称。
成功取回 2 座灯塔。 可选(“A3OROVAMIj”) 可选(快乐) 可选(“bbyqPZDg8W”) 可选(日期测试)
我想做的是获取解析对象本地数据存储中的名称字段,它是表格视图控制器中单元格上的标签名称。
我不知道如何从对象访问该信息,并正确设置标签。
有人知道这怎么可能吗?
【问题讨论】:
-
你的tableView准备好了吗?所以你可以开始从 parse 访问数据并在那里显示它?或者你在问如何用 parse.com 数据做 tableView?
-
您是说您正在获取一个名为“object”的对象,但它实际上是您正在使用的自定义类对象?您是否尝试过将其转换为实际类并以这种方式访问该属性?在 Objective C 中,你会做这样的事情来访问 name 属性: ((PFUser*)object).name 虽然我不确定 swift 等价物是什么。
-
所以你的查询函数工作正常,你应该想要获取这些信息然后加载你的tableview中的所有单元格......对吗??
-
是的,我目前有一个表格视图设置。我想我的主要问题是访问解析对象中的属性时遇到问题。当我制作一个时,它会与客户类“ParseLighthouse”一起保存,并且在该对象中有一个名称、纬度经度注释日期......等等。我希望能够从 ParseLighthouse 中获取这些名称注释等,并将其设置为我的旅行视图中的标签
-
等一下,我正在写答案
标签: ios swift parse-platform local-datastore