2016-01-01 73 views
0

enter image description hereSwiftyJson不起作用?

我試圖獲取信息過一個網站,我自己創建的,在這裏我需要讀取一個JSON對象給它的數據導入到我的iOS應用程序(寫在斯威夫特)。我只能找到很少的關於如何做到的教程,其中大部分都使用了SWIFTYJson Library(https://github.com/SwiftyJSON/SwiftyJSON)。問題是,當我使用庫時,實際的庫代碼本身似乎有一些錯誤,可能是由於Xcode中的最新更新造成的。即使教程中的示例也不起作用。

有沒有人不同的apporaches解決這個問題,而不使用SwiftyJson?

感謝

這是我donwloaded實際SwiftyJson文件。現在在他自己的例子中,代碼似乎有一些錯誤。

+2

你有什麼需要幫助用?從服務器獲取JSON或解析生成的JSON? – rmaddy

+0

最後 – Sascha

+1

您可以發佈一些示例代碼或發佈您收到的錯誤嗎? – Anchor

回答

-3

不要忘記導入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"]) 
+0

以及我真的不需要導入swiftyjson,因爲我實際上把文件在我的項目中。問題是庫本身似乎有錯誤。你知道任何其他方式來解決這個問題嗎? – Sascha

0

,您使用的Xcode 6.3,這是原因SwiftyJSON不工作。您已經下載了最新版本的庫,它與Swift 2.1兼容,如果我正確記得,Xcode 6.3與Swift 1.2捆綁在一起。您應該始終使用最新版本的Xcode(不包括beta版本)。 Xcode版本也會影響你的Swift版本。由於Swift是年輕的語言,它面臨着版本之間的很多變化,這些變化引發了用Swift編寫的框架的變化。

0

我能看到的第一個錯誤「No type named Indexable ...」似乎是reported in the SwiftyJSON project few months ago,解決方案是使用Xcode 7進行構建。

我也可以看到你使用iOS SDK 8.3,它可能會更新到9.2並修復問題。如果您使用Xcode 6,請嘗試更新到Xcode 7,並且錯誤可能會被修復。如果有新版本的話,我也沒有理由使用舊的SDK版本。

0

嘗試導入SwiftyJSON文件,如下所示,無需項目。 enter image description here

如果你要使用像你的版本:

嘗試創建一個新的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