【问题标题】:custom class method returning nil Swift IOS自定义类方法返回 nil Swift IOS
【发布时间】:2014-11-24 19:20:21
【问题描述】:

我是 Swift 和 IOS 编程的新手,我坚持以下。

在这种情况下,我创建了一个名为 user 的模型对象。

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

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

    var api: API?

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

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 和我的 return 不起作用,我用这个代码发送它:

    api?.SaveEditModel(user!)

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

我错过了什么?

【问题讨论】:

    标签: ios class object swift


    【解决方案1】:

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

    api?.SaveEditModel(user!)
    

    什么都不做。

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

    【讨论】:

    • 是的,就是这样。我需要在 viewDidload 中初始化我的 API。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多