★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(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 }