使用NSMutableArray设置UITableViewCell
时出现问题。
-[__NSCFArray isEqualToString:]: unrecognized selector sent to instance
并在那一行:
cellDetailed.favouriteLabel.text=[arrayofFavouriteNames objectAtIndex:indexPath.row];
当NSLogging NSMutableArray时,我有这个:
favourites: (
(
"User1"
),
(
User2
)
)
NSMutableArray的结构是否像:
favourites: (
"a",
"b",
"c"
)
当添加一个值作为收藏夹时,我首先拥有旧的收藏夹:
arrayofFavouritesNames = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"favourites_names"]];
然后,将新值添加到NSMutableArray:
[arrayofFavouritesNames addObject:name];
然后设置更新的NSMutableArray:
[[NSUserDefaults standardUserDefaults] setObject:arrayofFavouritesTeamsNames forKey:@"favourites_names"];
我真的不知道为什么我在UITableViewCell
中遇到了这个错误,但我猜它与NSMutableArray的结构有关。
感谢您的帮助。
答案 0 :(得分:3)
您的调试输出显示了一组字符串数组。也就是说:
arrayofFavouritesNames
)是一个数组。因此,您要将name
设置为数组,而不是字符串。在将其添加到arrayofFavouritesNames
之前将其设置为字符串。
如果您需要更多帮助,请修改问题以告诉我们您如何设置name
。
答案 1 :(得分:2)
要获得价值,您需要写
NSLog (@"%@", [[arrayofFavouritesNames objectAtIndexPath:0] objectAtIndexPath:0]);
如果从数组中获取所有值,则使用for loop
如此,
for(int i = 0 ; i < arrayofFavouritesNames.count ; i++)
{
NSLog (@"%@", [[arrayofFavouritesNames objectAtIndexPath:i] objectAtIndexPath:i]);
}