我有一个包含其他数组的数组,但是无法让它工作!即时通讯尝试从subArrays中提取字符串值我可以先访问第一个子数组没有问题但是当我尝试将标签更改为第二个数组中的对象时,我的程序会崩溃任何关于我应该如何处理它的问题?
int count = 0; // variable to access the required sub array
NSArray* myArray; // array holding other arrays
UILabel* mylabel; // label to display my string values from the array s
-(void) setLabel
{
NSArray* subArray = [myArray objectAtIndex: count];
[myLabel setText:[subArray objectAtIndex:1]]; // this works fine
}
-(void) changeLabelToNextArray
{
count ++
[self setLabel]; //program crashes here when try to load label from next array
}
答案 0 :(得分:0)
也许你可以尝试使用C数组:
id myArray[iMax][jMax];
subArray[i][j] = myArray[a][b];
答案 1 :(得分:0)
你为什么这样做?
[myLabel setText:[subArray objectAtIndex:1]];
如果
,这会崩溃我认为有关阵列结构的更多信息将有助于更好地解决问题所在。
编辑(根据以下评论) 试试这个:
NSArray* myArray; // Contains 5 subarrays, each containing 5 strings
UILabel* myLabel1;
UILabel* myLabel2;
UILabel* myLabel3;
UILabel* myLabel4;
UILabel* myLabel5;
int count = 0; // Keeps track of which subarray we are on
- (void)setLabel
{
NSArray* subArray = [myArray objectAtIndex:count];
[myLabel1 setText: [subArray objectAtIndex:0]]
[myLabel2 setText: [subArray objectAtIndex:1]]
[myLabel3 setText: [subArray objectAtIndex:2]]
[myLabel4 setText: [subArray objectAtIndex:3]]
[myLabel5 setText: [subArray objectAtIndex:4]]
count = (count + 1) % 5; // Ensures that count is always 0 to 4
}
现在,无论何时调用setLabel,只要在5个子数组中确实有5个字符串,文本就会在所有5个标签上发生变化。