我是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
我错过了什么?
答案 0 :(得分:0)
我的理解是您有一个api
变量,该变量应包含API
的实例,但它是nil
。你在初始化吗?您使用可选链接的事实表明该变量是可选的,如果它是nil这个语句:
api?.SaveEditModel(user!)
什么也没做。
因此,请仔细检查是否要为代码中的API
变量分配api
的实例。