有没有办法在不使用基本格式aFloatArray [] []嵌套数组的情况下创建二维NSArray。
谢谢。
答案 0 :(得分:17)
不幸的是没有。要创建多维NSArray:
NSArray *multiArray = [NSArray arrayWithObjects:
[NSMutableArray array],
[NSMutableArray array],
[NSMutableArray array],
[NSMutableArray array], nil];
// Add a value
[[multiArray objectAtIndex:1] addObject:@"foo"];
// get the value
NSString *value = [[multiArray objectAtIndex:1] objectAtIndex:0];
但是,您可以在Objective-C中使用C代码(因为它是C的严格超集),如果它符合您的需要,您可以按照建议声明数组。
答案 1 :(得分:11)
你可以这样做:
NSArray *array = @[@[@"0:0", @"0:1"],
@[@"1:0", @"1:1"]];
NSString *value = array[1][0];
我认为这比“objectAtIndex”的东西短得多。
但请注意,您已使用Apple LLVM编译器版本> = 4.0
答案 2 :(得分:0)
在Collection或TableView中为多维数组插入一个对象cellForRowAtIndexPath:
NSString *sectionRow = [NSString stringWithFormat:@"%d:%d", indexPath.section, indexPath.row];
[dictionary setValue:[UIImage imageWithData:imageData] forKey:sectionRow];
从Collection或TableView cellForRowAtIndexPath中的多维数组中检索对象:
NSString *sectionRow = [NSString stringWithFormat:@"%d:%d", indexPath.section, indexPath.row];
UIImage *cellImage = [dictionary valueForKey:sectionRow];