大家好,我是ios新手,最近使用lingoer的SwiftyJSON处理Json格式的数据时遇到了很困惑的问题(https://github.com/lingoer/SwiftyJSON)
我尝试了两种不同的导入方式,一种是直接将SwiftyJson.swift文件导入到自己的项目中,一切OK。然而我尝试在workspace中导入.framework时(导入方法参考:http://andelf.github.io/blog/2014/07/07/use-swift-dynamic-library/),如
//响应数据处理
public func handleResult(data: NSData) ->JSON {
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
var err: NSError?
var jsonObj = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSDictionary
var json: JSON!
json = JSON(object: jsonObj!)
if( json == nil) {
self.is_error = true
self.error_message = "json数据解析失败"
println(self.error_message)
} else {
self.is_error = false
}
return json
}
这里都正常,当我尝试解析JSON格式时,如
var total = json["info"]["total"].integerValue!
build出错。 报错信息:'JSON' does not have a member named 'subscript',我尝试第一种方法直接导入SwiftyJson.swift,一切又正常。我很困惑,我该如何通过导入动态链接库的方式导入别人的swifty library呢?
总算搞明白了,汗!
我使用了SwiftyJSON的原版本,问题解决。https://github.com/SwiftyJSON/SwiftyJSON
查看了lingoer fork后的代码,很多方法少了public声明,至于为什么直接导入OK,但是通过Workspace导入无效的问题,我也不明白。