我在尝试使用此库Alamofire-SwiftyJSON(https://github.com/SwiftyJSON/Alamofire-SwiftyJSON)时无法正常工作。
我创建了一个新项目并下载了Alamofire-SwiftyJSON库并将所有内容拖到了我的项目导航区域。
然而,当我进入ViewController并添加:
import AlamofireSwiftyJSON
我收到错误:没有这样的模块导入AlamofireSwiftyJSON
有人可以告诉我如何手动添加此项目。理想情况下,我可以逐步使用此代码:
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
.responseSwiftyJSON { (request, response, json, error) in
println(json)
println(error)
}
谢谢
答案 0 :(得分:4)
您的部署目标是什么?是< 8.0 ?如果是这样那些不支持嵌入式框架的目标,那么你需要做的就是:
所以您拥有的代码将是:
request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
.responseSwiftyJSON { (request, response, json, error) in
println(json)
println(error)
}
现在,那就是那个框架。因为我现在有一段时间,所以我会告诉你如何让它全部工作并且稍微干掉它。
完成上述操作后,请执行以下操作:
再次......确保在需要时复制文件。这也是框架的原因。
将它连接起来的权利 - 你不必这样做但是它总是更好地使用变量和数组,尽可能使清洁和加快编码时间。对于上面的例子,请执行以下操作:
var url = "http://httpbin.org/get"
var arr_parameters = [
"foo": "bar"
]
request(.GET, url, parameters: arr_parameters)
结合一些错误测试也是一个好主意,这样你就可以更容易地调试事情,并提供后备等...
因此,考虑到这一点,您的整个代码应如下所示:
var url = "http://httpbin.org/get"
var arr_parameters = [
"foo": "bar"
]
request(.GET, url, parameters: arr_parameters)
.responseJSON { (req, res, json, error) in
if(error != nil) {
NSLog("Error: \(error)")
println(req)
println(res)
}
else {
NSLog("Success: \(url)")
var json = JSON(json!)
}
}
中有一篇非常好的文章介绍了这一点
我希望这会有所帮助。祝你好运,保持联系。
答案 1 :(得分:2)
首先关注指向Alamofire-SwiftyJSON项目的链接。下载整个项目的zip。 也可以点击Alamofire项目的链接,下载fullzip,同样的东西再次为swiftyJSON项目。
现在,您需要做的就是:
如果需要,您可以检查“如果需要,复制文件”。如果不这样做,请务必保留alamofire项目的文件夹。 3.对swiftyJSON项目执行完全相同的操作。通过添加'SwiftyJSON.xcodeproj'文件。 4.转到项目设置>构建阶段>链接二进制文件库 5.添加Alamofire和SwiftyJSON框架(根据你是开发iphone还是mac os x选择合适的框架):
转到您需要提出请求的程序的任何部分(例如ViewController或AppDelegate),并在初始导入语句下面添加以下代码
导入Alamofire
使用以下代码添加您的请求:
Alamofire.request(.GET,“http://httpbin.org/get”,参数:[“foo”:“bar”]) .responseSwiftyJSON {(请求,响应,json,错误)in 的println(JSON) 的println(错误) }
玩得开心!
答案 2 :(得分:0)
您现在也可以使用Cocoapods。 Pod分别安装Alamofire和SwiftyJSON,只需将AlamofireSwiftyJSON.swift引入您的xcode项目文件夹即可。
然后在视图控制器或您想要使用它的任何内容中,在文件顶部导入Alamofire和SwiftyJSON。
然后下面的代码片段应该编译好。
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
.responseSwiftyJSON({ (request, response, json, error) in
println(json)
println(error)
})
答案 3 :(得分:0)
我最后通过阅读Cocoapods.org入门段落:
来解决1)关闭xCode应用程序(重要!)
2)从终端,在项目文件夹中输入:
open YourApp.xcworkspace
现在一切都会奏效:)