返回nil Swift IOS的​​自定义类方法

时间:2014-11-24 11:16:14

标签: ios class object swift

我是Swift和IOS编程的新手,我坚持下面的内容。

我创建了一个名为user的模型对象。

现在我想使用我的对象并将其发送到我的API适配器(在这种情况下使用天气API而不是链接)

我试图从我的视图控制器发送它并使用这种方式添加我的类

    var api: API?

当我按下我的发送按钮时,我将名为user的对象发送到我的api类方法,名为SaveEditModel,这个类+方法

public class API{

init (){

}
func SaveEditModel(user:User) -> String{

    println(user.firstname)

    let urlPath: String = "http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139"
    var url: NSURL = NSURL(string: urlPath)!
    var request1: NSURLRequest = NSURLRequest(URL: url)
    let queue:NSOperationQueue = NSOperationQueue()

    NSURLConnection.sendAsynchronousRequest(request1, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
        var err: NSError
        var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
        println("AsSynchronous\(jsonResult)")


    })

    return "test"

}

}

在这种情况下,我的println和我的回复都没有用我发送的代码:

    api?.SaveEditModel(user!)

设置断点时的日志显示为nil

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我的理解是您有一个api变量,该变量应包含API的实例,但它是nil。你在初始化吗?您使用可选链接的事实表明该变量是可选的,如果它是nil这个语句:

api?.SaveEditModel(user!)

什么也没做。

因此,请仔细检查是否要为代码中的API变量分配api的实例。