繁体   English   中英

SwiftyJson不起作用?

[英]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。

尝试按以下方式导入SwiftyJSON文件而不使用项目。 在此处输入图片说明

如果要使用与您的版本类似的代码:

尝试创建一个新的swift文件并手动导入此swiftyJSON version (不是最新的)这应该与xcode 7.2Swift 2deployment target 8.0.

https://gist.github.com/fatihyildizhan/450822246e8deb14099c

要求iOS 7.0+ / Mac OS X 10.9 +,Xcode 7

不要忘记导入AlamofireSwiftyJSON

 // 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM