- (IBAction)convert_button:(id)sender {
NSString * binary_input = _binary_field.text;
if(binary_input!=NULL)
{
int count, total, i, j, tmp;
total = 0;
count = binary_input.length;
for (i = 0; i <= count; i++) {
if (binary_input[count-i] == '1') {//error here saying Expected method to read array element not found of object type 'NSString *'
tmp = 1;
for (j = 1; j < i; j++)
tmp *= 2;
total += tmp;
}
}
long decimal_value = strtol([binary_input UTF8String], NULL, 2);
NSString *resultString = [[NSString alloc]
initWithFormat: @"%li", decimal_value];
_decimal_output.text = resultString;
}
}
我收到错误,在我的if语句的代码中发出错误,该错误表示读取未找到对象类型的数组元素的预期方法&#39; NSString *&#39;
我是objective-c的新手,并且主要完成了c ++,在如何修复错误方面有任何帮助,逻辑对我来说很有意义。
答案 0 :(得分:0)
for (i = 0; i <= count; i++) {
if (binary_input[count-i] == '1')
在循环的第一次迭代中,你将在spot -1中寻找一个超出数组范围的元素。