- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 SwiftyJSON 填充工作正常的 TableView ,但我正在努力寻找一种对数据进行排序的方法。我已经放置了我的代码,因为我觉得有一种更好的方法来存储和显示数据,因为目前我将它放入每个 json 标记的单独数组中,这使得排序变得困难。对 swift 非常陌生,因此不胜感激。我可以在使用之前对 json 结果进行排序吗,或者是否有更好的存储方式?
我想根据时间对下面的内容进行排序以打印到表格 View ,因为它只是按顺序打印。
示例 json:
[
{
"name": "John Doe",
"time": 13683
},
{
"name": "Dave Smith",
"time": 20683
},
{
"name": "Craig David",
"time": 200
}
]
当前方法(无排序):
// Global variables
var tableName = [String]()
var tableTime = [String]()
func getJSON(){
// Removed all the code here to get the JSON
let json = JSON(data: result!)
dispatch_async(dispatch_get_main_queue(), {
for item in json.arrayValue {
if item["name"].stringValue != "" {
self.tableName.append(item["name"].stringValue )
self.tableTime.append(item["time"].stringValue)
}
}
dispatch_async(dispatch_get_main_queue(),{
self.tableView.reloadData()
})
})
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableName.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->
UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as!TableViewCell
// Configure the cell...
cell.name.text = tableName[indexPath.row]
cell.time.text = tableTime[indexPath.row]
return cell
}
}
最佳答案
使用自定义结构作为数据模型
struct Data {
var name : String
var time : String
}
那么你只有一个数组需要排序
// Global variables
var dataSource = [Data]()
func getJSON(){
// Removed all the code here to get the JSON
let json = JSON(data: result!)
for item in json.arrayValue {
let name = item["name"].stringValue
if !name.isEmpty {
self.dataSource.append(Data(name:name, time:item["time"].stringValue))
}
}
self.dataSource.sortInPlace{ $0.name < $1.name}
dispatch_async(dispatch_get_main_queue(),{
self.tableView.reloadData()
})
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataSource.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->
UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as!TableViewCell
// Configure the cell...
let data = dataSource[indexPath.row]
cell.name.text = data.name
cell.time.text = data.time
return cell
}
}
关于ios - 排序 SwiftyJSON 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35381856/
我有:- var myArray:Array = array 我想要:- var myJSON:JSON = myArray as? JSON 但我收到警告:-从“数组”转换为无关类型“JSON”总是
真的很麻烦。我在 App Store 上有几个应用程序,其中一些使用 SwiftyJSON,但后一个很奇怪。我正在尝试将其上传到 App Store,但出现了这个奇怪的错误。 No suitable
从我之前的问题中你可以看出,我在解析 JSON 数据时遇到了很多麻烦。经过几天的头痛之后,我认为最好的方法仍然是使用 alamofire/swiftyjson。我还发现了 alamofire-swif
当我将我的 SwiftyJSON 文件添加到我的项目时,它有大约 45 个错误,其中大约 44 个将 as 更改为 as!。现在我被困在第 238 行的最后一个,然后我就可以走了。错误说: 无法将“A
我一直在使用模拟器来测试我的应用程序。今天我决定在模拟器中使用其他设备对其进行测试,令我惊讶的是它在某些设备上启动时崩溃,而在其他设备上却运行良好 我的应用构建运行于: iPad 空气 可调整大小的
这是问题的续集:dyld: Library not loaded: @rpath/SwiftyJSON.framework/SwiftyJSON 从头开始重建项目后(新项目、新 podfile、新文件
我试图弄清楚 SwiftyJSON 但我遇到了问题 下面显示的代码工作正常 import UIKit class ViewController: UIViewController {
我有对象 {"FIELD NAME":{ "SUBNAME":{ "FIELD_ONE":"DATA", "FIELD_TWO":"
我正在使用 SwiftyJSON,这很棒。但是,我在将 JSON(data:) 结果存储在我的 viewController 中时遇到问题。 SwiftyJSON 的标准使用效果很好。 let jso
我一直在学习 SWIFT 应用程序中的 JSON 解析。到目前为止,我一直在使用一个简单的免费 API,没有遇到任何问题,应用程序按设计运行。但现在我正在调用一个 API,该 API 返回一个数组内的
SwiftyJSON.swift 文件给我一个错误“NSNumber”对协议(protocol)“Comparable”的冗余一致性 extension NSNumber: Swift.Compara
我正在使用 Alamofire 从 API 获取数据。我正在使用 SwiftyJSON 来解析 JSON 响应。目前,我正在迭代产品数据,并希望提取产品详细信息并将其显示在 Collection Vi
我试图从我的测试目标包中读取一个文件,将该文件转换为 NSData,并将所述数据传递给我的类,然后类使用它来实例化 SwiftyJSON 实例。似乎我的数据生成正确,但是我的 SwiftyJSON 实
我尝试使用 SwiftyJSON 解析以下 JSON 结构,但我无法弄清楚如何循环遍历“sections”节点。我当前的代码返回每个部分的第一个部分节点,但我无法访问“Section 1b/Secti
我有一个由 .rawString() 转换的 JSON 对象的 NSArray,保存在 NSUserDefaults 上。 这是 lanesToReturn NSArray 的打印结果: ( "{\n
我有一个字典数组: var dictArray = [[String:String]]() 我附加了一些字典并将 dictArray 转换为 JSON: let json = JSON(dictArr
如何在不循环的情况下从一个数组到下一个数组? JSON:/image/34BtT.png 我尝试这样做 guard let items = self.json["data"]["reels_media
我有一个包含一些变量的类,我想通过使用 SwiftyJSON 解析 JSON 输出来创建此类的对象数组(我是 SwiftyJSON 的新手,因此在创建时遇到了一些问题一)并使用表格显示它们 谁能帮我创
我尝试用这种结构创建 JSON: var json: JSON = [ "params": [ "token": Utilities.token,
键“children”中包含的数组包含 100 项。 有没有办法告诉 SwiftyJSON 去抓取一个随机索引?我尝试创建一个随机数 var random = arc4random_uniform(2
我是一名优秀的程序员,十分优秀!