为啥我不能在 uitableview 单元格中放置一个 nsarray

Posted

技术标签:

【中文标题】为啥我不能在 uitableview 单元格中放置一个 nsarray【英文标题】:Why I cannot put a nsarray in uitableview cell为什么我不能在 uitableview 单元格中放置一个 nsarray 【发布时间】:2014-01-31 18:04:34 【问题描述】:

我有这个错误:

[__NSArrayI length]: unrecognized selector sent to instance 0x8d06040

当我尝试使用代码为单元格设置一个 NSArray 时:

cell.textLabel.text=[message objectAtIndex:indexPath.row];

这是我的以 NSDictionary 开头的代码:

NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:LoginResponse options:0 error:&error];

NSLog(@"responseDataAfterNSDICT: %@", jsonDict);
//------------------------------------------
keys = [jsonDict allKeys];
values = [jsonDict objectsForKeys:keys notFoundMarker:[NSNull null]];

message = [values valueForKey:@"fromuser"];
NSLog(@"%@", message);

这就是我的 NSLog(@"%@", message);

2014-01-31 12:52:39.899 ArialCraft[16694:70b] (
    (
),
    (
    KyleUnrau
),
    (
    FixableMass09
)
)

它适用于另一个 NSArray,我做错了什么?

【问题讨论】:

因为标签的 text 应该是 NSString,而不是 NSArray。你在上面倾倒的是一个 NSArray 的 NSArrays。 (请注意围绕整个事物的一对() - 那是外部数组。然后在每个内部数组周围有一对(),包括第一个空数组。) 【参考方案1】:

我想你还需要一个下标:

cell.textLabel.text = [[message objectAtIndex:indexPath.row] firstObject];

cell.textLabel.text 正在寻找一个 NSString 对象,而不是一个 NSArray 对象。

【讨论】:

以上是关于为啥我不能在 uitableview 单元格中放置一个 nsarray的主要内容,如果未能解决你的问题,请参考以下文章

如何在同一个xib中放置自定义单元格和表格视图?

为啥我不能从 UITableView 单元格转到 detailView 工作?

如何在我的 ag-grid 单元格中放置一个 react jsx 组件

为啥我不能专注于 iOS 中 uitableview 单元格(越过导航栏)中的正确 uitextfield,目标 c

UItableview 单元格的动态高度与 UItableview 单元格内的 UItableview

如何清除 UITableViewCells 中的 UILabel?