int num1, num2,num3,num4, i=0;
NSMutableArray *charArray = [[NSMutableArray alloc] init];
while(num1 != 0 && num2 != 0) {
num3 = num1 & 1;
num4 = num2 & 1;
if(num3 != num4) {
if(num3 == 0) {
charArray[i++]= '0';
charArray[i++]= '1';
} else {
charArray[i++]='1';
charArray[i++]='0';
}
}
num1 = num1 > 1;
num2 = num2 > 1;
}
}
我对Objective-c有点新意,有人可以告诉我这有什么不对吗?
答案 0 :(得分:4)
您不能使用带有NSArrays(和NSMutableArrays)的常规类数组下标。要添加项目,您需要调用addObject
方法..即[charArray addObject:obj]
。
另一个警告是你无法向NSArray添加裸char
,它需要是Objective-C类型。您可以使用NSNumber类来包装它。所以你的代码就是:
[charArray addObject:[NSNumber numberWithChar:'0']];
[charArray addObject:[NSNumber numberWithChar:'1']];
但是你仍然可以使用常规C数组并保持代码不被修改,这可能是一个更好的解决方案。即。
char charArray[MAX_SIZE];
答案 1 :(得分:3)
您无法使用C的NSMutableArray
语法访问[]
。
您需要使用-[NSMutableArray addObject:]
或-[NSMutableArray insertObject:atIndex:]
方法。