Iphone 如何从NSMutableArray追加
我尝试从NSMutableArray追加,但是下面的异常,实际上是第一个2循环给出了结果,但是第三个循环给出了这个异常Iphone 如何从NSMutableArray追加,iphone,nsstring,Iphone,Nsstring,我尝试从NSMutableArray追加,但是下面的异常,实际上是第一个2循环给出了结果,但是第三个循环给出了这个异常 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:0
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);
2009-12-04 12:01:19.044 AppBuzz[14562:207]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'***-[NSCFString appendString::::]:无参数'
2009-12-04 12:01:19.057 AppBuzz[14562:207]堆栈:(
820145437,
837578260,
819694387,
819694291,
814894619,
814804961,
17445,
23977,
18651,
19281,
862009284,
9035,
861597328,
861596264,
861928960,
861926972,
861925524,
858687888,
819893547,
819891231,
861592584,
861585968,
8749,
8612
)
在抛出“NSException”实例后调用terminate
我的代码如下
对于(int i=0;i<[学生人数];i++)
{
if([student objectAtIndex:i]!=NULL)
{
dic=[学生对象索引:i];
tempName=[dic objectForKey:@“NAME”];
tempAvgMark=[[dic objectForKey:@“平均标记”]intValue];
[数据附件字符串:@“{\”名称:\\”];
[data appendString:tempName];//这里有个问题
[数据附件字符串:@“\”,“平均标记:\”];
//[数据追加字符串:tempAvgMark];
[数据追加字符串:@“\”}];
}
}
NSLOG(@“结果-%@”,数据);
有人能帮忙吗
1) 追加[data appendString:tempName];
2) 将int值([data appendString:tempAvgMark];)附加到数据中
感谢此消息显示:NSCFString appendString::nil参数'其中一个字典值为null此消息显示:NSCFString appendString::nil参数'其中一个字典值为null字典中键@“NAME”的对象必须是字符串,要附加一个int,您可以使用
[string appendFormat:@“%d”,someInt]
字典中键“NAME”的对象必须是字符串,要附加int,您可以使用[string appendFormat:@“%d”,someInt]
尝试附加一个nil,这是非法的。通过将相关行更改为以下内容,您可以轻松绕过此问题:
[data appendString:(tempName == nil ? @"" : tempName)];
或者用你想要的任何东西替换这个空字符串。要附加非字符串值,请将其转换为如下所示的字符串:
[data appendString:[NSString stringWithFormat:@"%i", tempAvgMark]];
如果tempAvgMark不是“int”,则必须更改%i。例如,对于NSNumbers,使用%@代替。您试图附加一个nil,这是非法的。通过将相关行更改为以下内容,您可以轻松绕过此问题:
[data appendString:(tempName == nil ? @"" : tempName)];
或者用你想要的任何东西替换这个空字符串。要附加非字符串值,请将其转换为如下所示的字符串:
[data appendString:[NSString stringWithFormat:@"%i", tempAvgMark]];
如果tempAvgMark不是“int”,则必须更改%i。例如,对于NSNumbers,请改用%@格式。正确设置代码格式(缩进四个空格)将有助于人们识别您的问题并为您提供解决方案。正确设置代码格式(缩进四个空格)将帮助人们认识到你的问题并给你一个解决方案。或者他试图附加int,而它是0。或者他试图附加int,而它是0。