我一直在学习使用swift 1.1在xcode上编写最近几天的代码
我刚刚更新到xcode的新版本,其中包含swift 1.2并且我遇到了很多错误。我已经基于stackoverflow中的其他条目解决了一些问题,但是我遇到了很多问题。
最大的问题是,在查询带有块的对象时,我并不完全理解如何正确地包装和解包选项
这是我的原始代码:
@IBAction func LoadData(){
NSLog("loading data")
timelineData.removeAllObjects()
var findTimelineData : PFQuery = PFQuery(className: "posts")
findTimelineData.findObjectsInBackgroundWithBlock{
(objects : [AnyObject]!, error : NSError!) -> Void in
if (error == nil){
for object in objects{
self.timelineData.insertObject(object, atIndex: 0)
println("added one post")
}
}else{
NSLog("error")
}
我知道我应该用
开始我的阻止(objects, error)
并包含一些let语句,但我尝试过的任何内容都没有效果。有人可以给我一些指导吗?
谢谢你, -AVF
答案 0 :(得分:1)
你有没有尝试过:
@IBAction func LoadData(){
NSLog("loading data")
timelineData.removeAllObjects()
var findTimelineData : PFQuery = PFQuery(className: "posts")
findTimelineData.findObjectsInBackgroundWithBlock{
(objects : [AnyObject]?, error : NSError?) -> Void in
if (error == nil){
for object in objects!{
self.timelineData.insertObject(object, atIndex: 0)
println("added one post")
}
}else{
NSLog("error")
}
如果值是可选的,则取决于findObjectsInBackgroundWithBlock函数,如果您控制单击它,您可以看到它的使用方式(自动完成也应该为您正确创建)