我有功能
- (void)sortColor:(int [3][3])colors
有没有办法计算Objective-C中的行和列? 我知道这不是一个nsarray。我想知道有没有简单的方法来计算行和col?
我得到了col但行
col = sizeof(colors [0])/ sizeof(* colors [0])
任何人都可以帮忙吗?
答案 0 :(得分:1)
假设您考虑第一个数组计算行,例如:int arr[# rows][# columns] = ...
这就是你要找的东西:
int rows = sizeof(arr) / sizeof(*arr);
int columns = sizeof(arr[0]) / sizeof(*arr[0]);
这并不是简单地返回您创建C数组的大小,而不是实际存在的值的数量。如果这是你的目标,你确实需要使用与上面概述的结构不同的结构。
答案 1 :(得分:0)
嗯,在Objective-C或Swift中没有像2D数组那样的东西。这就是你如何模拟行为:
NSMutableArray *row1 = [NSMutableArray arrayWithObjects:@"1", @"2", nil];
NSMutableArray *row2 = [NSMutableArray arrayWithObjects:@"3", @"4", nil];
NSMutableArray *row3 = [NSMutableArray arrayWithObjects:@"5", @"6", nil];
NSArray *multiArray = @[row1, row2, row3];
NSInteger rowCount = multiArray.count;
NSInteger columnCount = row1.count; // believing each row object have same number of objects
答案 2 :(得分:-1)
使用count
方法获取NSArray中的项目数。请注意,int arr[3][3]
不是 NSArray,它是标准C数组。您通常无法获得标准C阵列的数量,您必须自己跟踪它。