Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用NSString初始化NSMutableArray时遇到问题_Ios_Nsstring_Nsmutablearray_Init - Fatal编程技术网

Ios 使用NSString初始化NSMutableArray时遇到问题

Ios 使用NSString初始化NSMutableArray时遇到问题,ios,nsstring,nsmutablearray,init,Ios,Nsstring,Nsmutablearray,Init,使用2个NSString对象@“00:00:00”初始化名为\entryArray的NSMutableArray时遇到问题。我得到以下错误: 由于未捕获异常“NSRangeException”而终止应用程序,原因:“*-[\uu NSArrayM objectAtIndex:]:索引1超出空数组的界限” 当我尝试在没有任何对象的情况下初始化它时,不会出现错误。我该怎么办 多谢各位 代码: 这两行生成的数组中没有对象: _timeInBackup = [[NSMutableArray alloc]

使用2个
NSString
对象
@“00:00:00”
初始化名为
\entryArray
NSMutableArray
时遇到问题。我得到以下错误:

由于未捕获异常“NSRangeException”而终止应用程序,原因:“*-[\uu NSArrayM objectAtIndex:]:索引1超出空数组的界限”

当我尝试在没有任何对象的情况下初始化它时,不会出现错误。我该怎么办

多谢各位

代码:


这两行生成的数组中没有对象:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:(NSNumber *)0, nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:(NSNumber *)0, nil];
您不是在添加数字0,而是在添加指针0。这与
nil
相同。换句话说,这段代码实际上是这样的:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:nil, nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:nil, nil];
如果要添加数字0,请执行以下操作:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeInBackup = [@[ @0 ] mutableCopy];
_timeOutBackup = [@[ @0 ] mutableCopy];
更好的做法是:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeInBackup = [@[ @0 ] mutableCopy];
_timeOutBackup = [@[ @0 ] mutableCopy];

您还有其他空数组:
\u timesineclasteryarray
\u timeInterval
。您发布的所有代码实际上都没有导致错误。您需要提供更多详细信息,以确定是哪个数组真正导致了问题。

这两行导致数组中没有对象:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:(NSNumber *)0, nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:(NSNumber *)0, nil];
您不是在添加数字0,而是在添加指针0。这与
nil
相同。换句话说,这段代码实际上是这样的:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:nil, nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:nil, nil];
如果要添加数字0,请执行以下操作:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeInBackup = [@[ @0 ] mutableCopy];
_timeOutBackup = [@[ @0 ] mutableCopy];
更好的做法是:

_timeInBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeOutBackup = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithInt:0], nil];
_timeInBackup = [@[ @0 ] mutableCopy];
_timeOutBackup = [@[ @0 ] mutableCopy];

您还有其他空数组:
\u timesineclasteryarray
\u timeInterval
。您发布的所有代码实际上都没有导致错误。您需要提供更多详细信息,以确定是哪个数组真正导致了问题。

您引用的例外情况是什么?(当然不是上面列出的语句之一。)
\u timeInBackup=[[NSMutableArray alloc]initWithObjects:(NSNumber*)0,nil]
应该是
\u timeInBackup=[[NSMutableArray alloc]initWithObjects:@0,nil]
或使用旧语法
\u timeInBackup=[[NSMutableArray alloc]initWithObjects:[NSNumber numberwhithint:0],nil]
同样适用于
\u timeOutBackup
(但是,如果您记录您创建的阵列,您可能会学到一些东西。\u timeInBackup和\u timeOutBackup不包含您认为它们包含的值。)这是我无法理解的。如果我只使用[[NSMutableArray alloc]init]初始化_entryArray,我就不明白了,但是如果我尝试使用对象初始化它,应用程序甚至不会启动_entryArray是可以的。但是NSLog所有的东西,这样你就能明白你有什么。你引用的例外情况是什么?(当然不是上面列出的语句之一。)
\u timeInBackup=[[NSMutableArray alloc]initWithObjects:(NSNumber*)0,nil]
应该是
\u timeInBackup=[[NSMutableArray alloc]initWithObjects:@0,nil]
或使用旧语法
\u timeInBackup=[[NSMutableArray alloc]initWithObjects:[NSNumber numberwhithint:0],nil]
同样适用于
\u timeOutBackup
(但是,如果您记录您创建的阵列,您可能会学到一些东西。\u timeInBackup和\u timeOutBackup不包含您认为它们包含的值。)这是我无法理解的。如果我只使用[[NSMutableArray alloc]init]初始化_entryArray,我就不明白了,但是如果我尝试使用对象初始化它,应用程序甚至不会启动_entryArray是可以的。但是,请记录所有内容,以便您了解您所拥有的内容。应该是
[@[@0]mutableCopy]
@xlc感谢您注意到输入错误。已修复。应该是
[@[@0]mutableCopy]
@xlc感谢您注意到输入错误。固定的。