我在视图控制器的负载电话联系人中遇到小问题,我在void find_unused_cellports(Module *module)
{
SigMap sigmap(module);
pool<SigBit> used_sigbit;
for (auto wire : module->wires()) {
if (wire->port_output)
for (auto bit : sigmap(wire))
used_sigbit.insert(bit);
}
for (auto cell : module->cells())
for (auto conn : cell->connections())
if (cell->input(conn.first))
for (auto bit : sigmap(conn.second))
used_sigbit.insert(bit);
for (auto cell : module->cells())
for (auto conn : cell->connections())
if (cell->output(conn.first))
for (int i = 0; i < GetSize(conn.second); i++)
if (used_sigbit.count(sigmap(conn.second[i])) == 0)
log("Unused cell port bit: %s.%s.%s[%d]\n",
log_id(module), log_id(cell), log_id(conn.first), i);
}
中成功加载了我的电话联系人的姓名和号码,但是联系人加载名称是随机的,我希望联系人姓名必须是字母顺序等于数字
以下是我的示例代码:
Tableview
答案 0 :(得分:3)
您可以使用:
var descriptor: NSSortDescriptor = NSSortDescriptor(key: "name", ascending: true)
var sortedResults: NSArray = contactArray.sortedArrayUsingDescriptors([descriptor])
答案 1 :(得分:3)
正如我从您的代码中假设您的contactArray设置了这样的值:
let contactArray = [["name": "tim", "phone": 123], ["name": "adi", "phone": 1234], ["name": "cora", "phone": 456], ["name": "berta", "phone": 678]]
要按名称对其进行排序,您可以使用sort method:
let sortedContactArray = contactArray.sort{ ($0["name"] as! String) < ($1["name"] as! String) }
// result: [["phone": 1234, "name": adi], ["phone": 678, "name": berta], ["phone": 456, "name": cora], ["phone": 123, "name": tim]]
答案 2 :(得分:2)
你也可以用简洁的Swifty方式进行分类(当然如果你使用的是Swift数组而不是NSArray)
contactArray.sortInPlace { $0["name"] < $1["name"] }