提手休息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)

[下载项目]