提手休息Api Menggunakan Alamofire di Swift 4
海,肯巴利·拉吉…
Dalam beberapa bulan terakhir saya sempat disibukan dengan pekerjaan kantor,jadi belum dapat kesempatan untuk mengupdate artikel di medium🙁
Pada kesempatan kali ini saya阿肯色曼巴哈斯Tentang编程di IOS menggunakan bahasa pemrograman Swift (bosen android mulu:p)。
Oke,pada教程ina saya menggunakan IDE Xcode 10和Swift 4。
1.Buka XCode dan buat项目baru。
2.Tambahkan pod Alamofire dan SwiftyJSON
Karena saya menggunakan 库外部 yaitu Alamofire和 SwiftyJSON jadi cocoapods harus sudah terinstall pada Mac,安装了cocoapods bisa search di google。
吉卡·泰拉·塞莱赛·蒙格沃克(Kikadian Telah Selesai)
Kemudian ketik lagi’nano Podfile’di 终端。
Tambahkan pod’Alamofire’,’〜> 5.0.0-beta.3’dan pod’SwiftyJSON’,’〜> 4.0’tepat sebelum 脚本 结束
保存文件Podfile-nya dengan menekan tombol 控件+ X kemudian tekan Y
Kemudian ketik’pod install’di终端。
Setelah selesai通过文件xcworkspace 关闭 dan buka lagi 项目 -nya。
3,穆莱·科丁
Masuk ke Main.storyboard ,tambahkan 表视图和 ViewController kemudian tambakan约束表视图
Kemudian tambahkan 表视图单元格 dalam 表视图 dan tambahkan 2 标签 di dalam 表视图单元格 jangan lupa juga set约束dari kedua标签tersebut 。
哦,是的,sebelumnya saya sudah membuat文件api sederhana yang akan dicoba pada教程ini。 格式化api nya seperti gambar di bawah ini。
Masuk lagi ke项目kemudian buat文件baru dengan menekan tombol cmd + n kemudian buat文件Cocoa Touch Class ,di sini saya menggunakan nama ViewSongCell.swift pada filenya。 File ini akan menghand view dari Table View Cell yang telah dibuat tadi。 Buatlah脚本nya menjadi seperti ini:
导入 UIKit
类 ViewSongCell:UITableViewCell {
@IBOutlet 弱变量lbTitle:UILabel!
@IBOutlet 弱变量lbArtist:UILabel!
var歌曲:歌曲!
func setData( _ song:Song){
自我 .song =歌曲
lbTitle.text =歌曲.title
lbArtist.text =歌手
}
}
Main.storyboard,klik Table View Cell dan set class -nya ke ViewSongCell
设置Juga 标识符 Nya Ke ViewSongCell
与 IBOutlet的 Tambahkan 连接 dari kedua标签yang telah dibuat tadi。
bubu sebuah 文件 Cocoa Touch Class dengan nama Song.swift dan buat 脚本 nya menjadi seperti ini:
歌曲类 {
var title:String
var artist:String
初始化 ( _标题:字符串, _艺术家:字符串){
自我 .title =标题
自我。艺术家=艺术家
}
}
文件原始数据对象数据对象 dalam 表 nanti。
Kemudian masuk ke ViewController.swift dan tambahkan IBOutlet dan sebuah 变量 数组 sebagai 公共 变量, jangan lupa juga meng- import Alamofire
@IBOutlet 弱 var tableSong:UITableView!
var songs = [Song]()
Tambahkan 脚本 tersebut tepat di bawah脚本类。
Kemudian buat sebuah 函数 baru dengan nama loadData(), dan buat脚本dari 函数 tersebut menjadi seperti ini:
私人 func loadData(){
AF.request(“ http://192.168.56.1/anows/ios/app.php”).responseJSON { 在
让 json = JSON(response.result.value!)
对于 0 中的我.. <json [“ data”]。count {
让 title = json [“ data”] [i] [“ title”]。string!
让 artist = json [“ data”] [i] [“ artist”]。string!
自我 .songs.append(Song(title,artist))
}
自我 .tableSong.reloadData()
}
}
Perhatikan 端点 dari api nya,disesuikan dengan punya masing-masing。
Kemudian buatlah sebuah 扩展名 untuk ViewController bisa dengan cara menambahkan 脚本 扩展名 -nya dalam baris 类 nya,Tapi pada教程kali ini untuk 扩展名 -nya akan dibuat di luar dari类ViewController, 脚本 nya seperti ini:
扩展 ViewController:UITableViewDelegate,UITableViewDataSource {
func tableView( _ tableView:UITableView,numberOfRowsInSection部分:Int)-> Int {
返回 songs.count
}
func tableView( _ tableView:UITableView,cellForRowAt indexPath:IndexPath)-> UITableViewCell {
让歌曲=歌曲[indexPath.row]
让 cell = tableView.dequeueReusableCell(withIdentifier:“ ViewSongCell”) 为 ! ViewSongCell
cell.setData(song)
返回单元
}
}
Pada扩展名iny saya mengkonfigurasi func dari UITable委托 dan 视图数据源 sekalian juga untuk konfigurasi dari 表视图Cell yang telah buat tadi。 Terakhir tambahkan beberapa baris 脚本 berikut tepat di dalam 函数 viewDidLoad()
自我 .tableSong.dataSource = 自我
自我 .tableSong.delegate = 自我
loadData()
Keseluruhan 脚本 dari ViewController.swift 脚本 :
导入 UIKit
进口 Alamofire
导入 SwiftyJSON
类 ViewController:UIViewController {
@IBOutlet 弱 var tableSong:UITableView!
var songs = [Song]()
覆盖 func viewDidLoad(){
超级 .viewDidLoad()
自我 .tableSong.dataSource = 自我
自我 .tableSong.delegate = 自我
loadData()
}
私人 func loadData(){
AF.request(“ http://192.168.56.1/anows/ios/app.php”).responseJSON { 在
让 json = JSON(response.result.value!)
对于 0 中的我.. <json [“ data”]。count {
让 title = json [“ data”] [i] [“ title”]。string!
让 artist = json [“ data”] [i] [“ artist”]。string!
自我 .songs.append(Song(title,artist))
}
自我 .tableSong.reloadData()
}
}
}
扩展 ViewController:UITableViewDelegate,UITableViewDataSource {
func tableView( _ tableView:UITableView,numberOfRowsInSection部分:Int)-> Int {
返回 songs.count
}
func tableView( _ tableView:UITableView,cellForRowAt indexPath:IndexPath)-> UITableViewCell {
让歌曲=歌曲[indexPath.row]
让 cell = tableView.dequeueReusableCell(withIdentifier:“ ViewSongCell”) 为 ! ViewSongCell
cell.setData(song)
返回单元
}
}
Main.storyboard dan buat连接dari 视图表 yang telah dibuat tadi ke ViewController ,sehingga 控制器 场景 dari 视图控制器 menjadi seperti ini
Sekarang coba经营projectnya。
吉卡·蒂达克(Jika Tidak)
[下载项目]