键为 swift 的数组
Array with key in swift
我正在使用此代码通过键从数组中获取文本
视图中的代码确实加载了
if let rs = db.executeQuery("select * from myTable", withArgumentsInArray: nil) {
while rs.next() {
let id = rs.stringForColumn("id")
let text1 = rs.stringForColumn("text")
dataArray.addObjectsFromArray(NSArray(objects:NSDictionary(object:NSArray(objects: id, text1), forKey:NSArray(objects: "id", "texti"))))
}
} else {
println("executeQuery failed: \(db.lastErrorMessage())")
}
...
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = dataArray[indexPath.row].objectForKey("texti") as? String
return cell
}
单元格标签文本为空,为什么?
println("dataArray: \(dataArray)")
dataArray: (
{
(
id,
texti
) = (
1,
John
);
},
{
(
id,
texti
) = (
2,
Mark
);
},
{
(
id,
texti
) = (
3,
Marry
);
}
)
这里面有问题吗?
我在 objective-c 中使用相同的代码,它的工作可能
检索 dataArray
后调用 self.tableView.reloadData()
。将 dataArray.addObjects
行更改为
dataArray.addObject(["id":id,"texti" : text1])
if let rs = db.executeQuery("select * from myTable", withArgumentsInArray: nil) {
while rs.next() {
let id = rs.stringForColumn("id")
let text1 = rs.stringForColumn("text")
dataArray.addObject(["id":id,"texti" : text1]) // Added Line
}
self.tableview.reloadData() //Added Line
} else {
println("executeQuery failed: \(db.lastErrorMessage())")
}
里面cellForRowAtIndexPath
if let txt = dataArray[indexPath.row].objectForKey("texti") as? String
{
cell.textLabel?.text = txt
}
我正在使用此代码通过键从数组中获取文本
视图中的代码确实加载了
if let rs = db.executeQuery("select * from myTable", withArgumentsInArray: nil) {
while rs.next() {
let id = rs.stringForColumn("id")
let text1 = rs.stringForColumn("text")
dataArray.addObjectsFromArray(NSArray(objects:NSDictionary(object:NSArray(objects: id, text1), forKey:NSArray(objects: "id", "texti"))))
}
} else {
println("executeQuery failed: \(db.lastErrorMessage())")
}
...
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = dataArray[indexPath.row].objectForKey("texti") as? String
return cell
}
单元格标签文本为空,为什么?
println("dataArray: \(dataArray)")
dataArray: (
{
(
id,
texti
) = (
1,
John
);
},
{
(
id,
texti
) = (
2,
Mark
);
},
{
(
id,
texti
) = (
3,
Marry
);
}
)
这里面有问题吗? 我在 objective-c 中使用相同的代码,它的工作可能
检索 dataArray
后调用 self.tableView.reloadData()
。将 dataArray.addObjects
行更改为
dataArray.addObject(["id":id,"texti" : text1])
if let rs = db.executeQuery("select * from myTable", withArgumentsInArray: nil) {
while rs.next() {
let id = rs.stringForColumn("id")
let text1 = rs.stringForColumn("text")
dataArray.addObject(["id":id,"texti" : text1]) // Added Line
}
self.tableview.reloadData() //Added Line
} else {
println("executeQuery failed: \(db.lastErrorMessage())")
}
里面cellForRowAtIndexPath
if let txt = dataArray[indexPath.row].objectForKey("texti") as? String
{
cell.textLabel?.text = txt
}