[英]SwiftyJson doesn't work?
我正在尝试从自己创建的网站上获取信息,我需要在该网站上读取JSON对象,以将其数据导入到我的iOS应用(用Swift编写)中。 我只能找到很少的有关如何执行此操作的教程,并且大多数教程都使用SWIFTYJson库( https://github.com/SwiftyJSON/SwiftyJSON )。 问题是当我使用库时,实际的库代码本身似乎有一些错误,可能是由于Xcode的最新更新所致。 即使是本教程中的示例也不起作用。
有没有不使用SwiftyJson的不同解决方案来解决此问题?
谢谢
这是我下载的实际SwiftyJson文件。 现在在他自己的示例中,代码似乎有一些错误。
如评论中所述,您使用Xcode 6.3,这是SwiftyJSON无法正常工作的原因。 您已经下载了该库的最新版本,该库与Swift 2.1兼容,如果我没记错的话,Xcode 6.3与Swift 1.2捆绑在一起。 您应该始终使用最新版本的Xcode(不包括Beta版本)。 Xcode的版本也会影响您拥有的Swift的版本。 由于Swift是年轻的语言,因此它在版本之间面临许多变化,这会触发以Swift编写的框架的变化。
我看到的第一个错误似乎是几个月前在SwiftyJSON项目中报告的,该错误的解决方案是使用Xcode 7进行构建。
我还可以看到您使用的是iOS SDK 8.3,它可能会更新到9.2并解决了问题。 如果您使用Xcode 6,请尝试更新到Xcode 7,错误可能会得到解决。 另外,如果有新版本可用,我看不出有任何理由使用旧版SDK。
如果要使用与您的版本类似的代码:
尝试创建一个新的swift
文件并手动导入此swiftyJSON version
。 (不是最新的)这应该与xcode 7.2
和Swift 2
和deployment target 8.0.
https://gist.github.com/fatihyildizhan/450822246e8deb14099c
要求iOS 7.0+ / Mac OS X 10.9 +,Xcode 7
不要忘记导入Alamofire
和SwiftyJSON
。
// This is Alamofire Request
func LoginWithAPI(completion : (String) -> ()) {
Alamofire.request(.POST, "your_api_url", parameters: ["username":"bodrum", "password":"yalikavak"], encoding: ParameterEncoding.JSON)
.validate()
.responseJSON { response in
switch response.result {
case .Success:
// Parse your result to JSON object first.
// JSON is SwiftyJSON object.
let jsonResponse = JSON(data: response.data!)
let result = jsonResponse["result"].stringValue
completion(result)
case .Failure(let error):
completion(error.description)
}
}
}
如果要添加任何header
,请使用以下行:
Alamofire.request(.POST, "your_api_url", parameters: ["username":"bodrum", "password":"yalikavak"], encoding: ParameterEncoding.JSON,
headers: ["header_key": "header_value"])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.