gpt4 book ai didi

json - Swiftyjson - JSON 到带有字母部分的 TableView

转载 作者:行者123 更新时间:2023-11-30 13:29:08 24 4
gpt4 key购买 nike

一旦我通过 Alamofire 从 http 请求中返回 JSON,我就会得到本文底部提到的以下 swiftyjson JSON 对象。

如何提取这种格式的部分?

  • var 部分:[(索引:Int,长度:Int,标题:String)] = Array()
  • 长度是每个部分下的联系人数量。给信加上标题

然后如何提取每个字母下的每个对象数组?

所有这些都使用 swift。

目标是创建一个包含表格 View 和字母顺序部分的联系人列表。

如果我不清楚,请告诉我。

JSON 对象:

{
"T" : [
{
"location" : "Shanghai",
"firstName" : "User3",
"id" : 3,
"created_at" : "2016-04-19 12:54:23",
"birthDate" : "2016-04-17",
"email" : "user3@test.com",
"profilePhotoPath" : "photos\/emptyProfilePhoto.jpg",
"updated_at" : "2016-04-19 12:54:23",
"lastName" : "Test"
}
],
"G" : [
{
"location" : "Jakaylaborough",
"firstName" : "Lambert",
"id" : 4,
"created_at" : "2016-04-19 23:25:39",
"birthDate" : "0000-00-00",
"email" : "user4@test.com",
"profilePhotoPath" : "photos\/emptyProfilePhoto.jpg",
"updated_at" : "2016-04-19 23:25:39",
"lastName" : "Gulgowski"
}
],
"W" : [
{
"location" : "East Sydni",
"firstName" : "Jedediah",
"id" : 5,
"created_at" : "2016-04-19 23:25:39",
"birthDate" : "0000-00-00",
"email" : "user5@test.com",
"profilePhotoPath" : "photos\/emptyProfilePhoto.jpg",
"updated_at" : "2016-04-19 23:25:39",
"lastName" : "Wehner"
},
{
"location" : "East Rebeccaton",
"firstName" : "Addison",
"id" : 6,
"created_at" : "2016-04-19 23:25:39",
"birthDate" : "0000-00-00",
"email" : "user6@test.com",
"profilePhotoPath" : "photos\/emptyProfilePhoto.jpg",
"updated_at" : "2016-04-19 23:25:39",
"lastName" : "Weimann"
}
]
}

最佳答案

刚刚找到了我的路。回答如下。

var sections : [(index: Int, length :Int, title: String)] = Array()
var contactsSorted: [JSON] = [JSON]()

// Delegate from my contact protocol
func didReceiveContacts(contacts: JSON){

var index = 0

for (key,subJson):(String, JSON) in contacts {

let title = "\(key)"

let newSection = (index: index, length: subJson.count, title: title)

sections.append(newSection)

contactsSorted.append(subJson)

index += 1
}
// EDIT:Sort the sections by title to retrieve the alphabetical order
sections.sortInPlace({ $0.title < $1.title })

self.tableView.reloadData()
}

// tableView delegate methods

func numberOfSectionsInTableView(tableView: UITableView) -> Int {

return sections.count

}

func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

return sections[section].title

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return sections[section].length

}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = self.tableView.dequeueReusableCellWithIdentifier("contactCell")! as! ContactTableViewCell

cell.nameLabel.text = contactsSorted[sections[indexPath.section].index].array![indexPath.row]["firstName"].string! + " " + contactsSorted[sections[indexPath.section].index].array![indexPath.row]["lastName"].string!

}

关于json - Swiftyjson - JSON 到带有字母部分的 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36781205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com