★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-fgypnarj-ma.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
目錄:[Swift]通天遁地Swiftios
本文將演示Cocopods的安裝和開源類庫對JSON的解析。git
首先打開terminal(終端),並在terminal輸入安裝語句:github
sudo gem install cocoa podsjson
按下【Enter】鍵。swift
Password:數組
在密碼提示符的右側,輸入當前帳戶的密碼。安全
插件安裝以後,能夠經過輸入關鍵詞,查找須要安裝的第三方類庫。微信
pod search AFNetworking
terminal(終端)列出了全部能夠安裝的相關類庫,只須要複製Pod語句便可。ide
如今來查看已經安裝的Pod的版本。
pod --version
若是須要執行某個Pod文件,
使用cd命令切換切換至配置文件所在的文件夾,
該文件夾下擁有一個已經設置好的Pod配置文件,
如今輸入安裝語句,安裝配置文件中的第三方類庫。
pod install --no-repo-update
安裝完成以後,最小化terminal(終端)。
首先確保在項目中已經安裝了所需的第三方庫。
點擊【Podfile】,查看安裝配置文件。
1 platform :ios, '12.0' 2 use_frameworks! 3 4 target ‘DemoApp' do 5 pod 'SwiftyJSON' 6 end
根據配置文件中的相關配置,安裝第三方庫。
而後點擊打開【DemoApp.xcworkspace】項目文件。
在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】
1 import UIKit 2 //引入已經安裝的第三方類庫 3 import SwiftyJSON 4 5 class ViewController: UIViewController { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 11 //得到項目中待解析文檔的存儲路徑。 12 let path = Bundle.main.path(forResource: "menu", ofType: "json") 13 //加載指定路徑的文檔,並將結果保存在數據常量中。 14 if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path!)) 15 { 16 //使用加載的數據,生成一個JSON對象。 17 let json = JSON(data: jsonData) 18 //經過對象的描述方法,在控制檯輸出該對象包含的內容。 19 print(json.description) 20 21 //得到並輸出菜單鍵下的指定子鍵的值 22 print(json["menu"]["id"]) 23 //得到並輸出菜單鍵下的指定子鍵的值 24 print(json["menu"]["value"]) 25 //在菜單鍵的內部,包含一個由數組組成的子鍵序列, 26 //這裏得到並輸出數組中的第一個元素。 27 print(json["menu"]["menuitem"][0]) 28 //輸出數組中的第一個元素的名稱子鍵的值。 29 print(json["menu"]["menuitem"][0]["name"]) 30 //輸出數組中的第一個元素的點擊事件子鍵的值。 31 print(json["menu"]["menuitem"][0]["onclick"]) 32 print("--------------------------------------") 33 34 //得到子鍵序列,並存儲在一個數組中。 35 if let arr = json["menu"]["menuitem"].array 36 { 37 //使用循環語句,對存儲在數組中的元素進行遍歷 38 for subItem in arr 39 { 40 //依次輸出名稱和點擊事件兩個子鍵所對應的值。 41 print(subItem["name"]) 42 print(subItem["onclick"]) 43 } 44 } 45 //輸出一個分隔線日誌。 46 print("--------------------------------------") 47 48 //使用第三方類庫,快速建立自定義的JSON對象 49 var jsonInt: JSON = [1,2,3] 50 //經過下標能夠快速更改元素的值。 51 jsonInt[0] = 100 52 jsonInt[5] = 200 53 //在控制檯輸出JSON對象的詳細信息 54 print("jsonInt:\(jsonInt)") 55 56 //JSON對象能夠包含多種類型的鍵值對。 57 var jsonData: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]] 58 //經過下標能夠快速定位和修改某個元素。 59 jsonData["list"][3]["what"] = "that" 60 print("jsonData:\(jsonData)") 61 } 62 } 63 64 override func didReceiveMemoryWarning() { 65 super.didReceiveMemoryWarning() 66 // Dispose of any resources that can be recreated. 67 } 68 }