[英]how to append from NSMutableArray
我尝试从NSMutableArray追加,但出现以下异常,实际上是第2个循环给出了结果,但第3个循环给出了这个异常
2009-12-04 12:01:19.044 AppBuzz[14562:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString appendString:]: nil argument'
2009-12-04 12:01:19.057 AppBuzz[14562:207] Stack: (
820145437,
837578260,
819694387,
819694291,
814894619,
814804961,
17445,
23977,
18651,
19281,
862009284,
9035,
861597328,
861596264,
861928960,
861926972,
861925524,
858687888,
819893547,
819891231,
861592584,
861585968,
8749,
8612
)
terminate called after throwing an instance of 'NSException'
my code as below
for (int i = 0; i < [student count]; i++)
{
if([student objectAtIndex:i] != NULL)
{
dic = [student objectAtIndex:i];
tempName = [dic objectForKey:@"NAME"];
tempAvgMark = [[dic objectForKey:@"AVG_MARK"] intValue];
[data appendString:@"{\"name\":\""];
[data appendString:tempName]; // here i'm having prob
[data appendString:@"\",\"avg_mark\":\""];
//[data appendString:tempAvgMark];
[data appendString:@"\"}"];
}
}
NSLOG(@"Result - %@",data);
任何人都可以帮助1)追加[data appendString:tempName]; 2)将int值([data appendString:tempAvgMark];)附加到数据中
谢谢
您正在尝试附加nil,这是非法的。 通过将相关行更改为以下内容,可以轻松解决此问题:
[data appendString:(tempName == nil ? @"" : tempName)];
或将空字符串替换为您想要的任何其他字符串。 要附加一个非字符串值,请将其转换为这样的字符串:
[data appendString:[NSString stringWithFormat:@"%i", tempAvgMark]];
如果tempAvgMark不是'int',则必须更改%i。 例如,对于NSNumbers,请使用%@。
字典中键@“ NAME”的对象必须是字符串,并且要附加int,可以使用[string appendFormat:@"%d", someInt]
。
从此消息中出现:NSCFString appendString:]:nil参数,字典值之一为null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.