我正在尝试使用Swift对REST API进行GET调用,并尝试了许多教程,但都无法找到答案。要么是因为我不知道如何将所有的Obj-C翻译成Swift,要么是因为有一半的方法n'such被弃用了。有人知道如何调用并解析返回的JSON数据吗?
您可以这样做:
var url : String = "http://google.com?test=toto&test2=titi"
var request : NSMutableURLRequest = NSMutableURLRequest()
request.URL = NSURL(string: url)
request.HTTPMethod = "GET"
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in
var error: AutoreleasingUnsafeMutablePointer<NSError?> = nil
let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary
if (jsonResult != nil) {
// process jsonResult
} else {
// couldn't load JSON, look at error
}
})
编辑:对于有问题的人来说,可能您的JSON流是数组[]而不是对象{},所以您必须将jsonResult更改为nsarray
而不是nsdictionary
问题内容: 我编写了如下代码块: 初始化后就可以了。将人员设置为时,不调用该方法。 问题答案: 问题在于操场不是现实生活。这只是不使用它们的又一个原因(我认为,对于苹果公司而言,这是一个可怕的错误)。使用真实的iOS应用项目,将按预期方式调用。 来自真实项目的示例: 这就是您期望的。
问题内容: 从名称(以String格式)中调用方法有时会很有用。 在Swift中,建议更改行为并使用闭包“动态”地进行操作,例如,您可以拥有一个函数字典,名称为键,实现为值。 但是,有时您只想简单地知道“怎么做”,这就是这个问题的原因。 那么,如何从名称作为字符串开始动态调用Swift方法? 在目标C中很简单: 但是在Swift中被禁止 还有其他选择吗? 问题答案: 在Swift中,您应该使用闭包
问题内容: 我正在尝试使用Swift来对REST API进行GET调用,并且试图遵循众多教程,但无法弄清楚。要么是因为我无法弄清楚如何将所有Obj- C转换为Swift,要么是因为不赞成使用n’这样的方法的一半。有谁知道如何进行调用以及解析返回的JSON数据? 问题答案: 您可以这样做: 编辑:对于对此有疑问的人,也许您的JSON流是数组[]而不是对象{},因此您必须将jsonResult更改为
如何从Swift脚本调用外部命令(启动子流程)? 也许类似于Python中的。
问题内容: 苹果的Swift 文档指出 如果您正在Cocoa或Cocoa Touch中使用Foundation框架,则可以使用整个NSString API来调用您创建的任何String值 如果我有一个String对象,例如 如何执行类似String var的NSString操作? 问题答案: 经过一些研究,看起来不是一个函数,但是可以通过桥接到来访问。 在苹果公司关于将Swift与Cocoa和Ob
我知道Java应用程序可以捆绑为Mac应用程序,带有JavaSwing或JavaFX驱动的用户界面,以及捆绑的Java运行时(JRE)。但是我想用Swift编写的Xcode构建一个本机应用程序,带有Cocoa用户界面,可以调用Java库来处理一些数据。 我需要调用捆绑的JRE,调用所需的库(JAR文件),传递对Mac存储中文件的引用(或者该文件的内容作为内存中的大字符串),并取回字符串(XML或C