Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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 中断线程1:EXC\u坏访问_Ios_Objective C - Fatal编程技术网

Ios 中断线程1:EXC\u坏访问

Ios 中断线程1:EXC\u坏访问,ios,objective-c,Ios,Objective C,下面是一个代码: for (int i = 0; i < _sevenForDisplay.length; i++) { _sevensForReplace = [_sevensForReplace stringByReplacingCharactersInRange:NSMakeRange([[_sevenForDisplay substringWithRange:NSMakeRange(i,1)] intValue]-1,1) withString:@"1"]; N

下面是一个代码:

for (int i = 0; i < _sevenForDisplay.length; i++) {

    _sevensForReplace = [_sevensForReplace stringByReplacingCharactersInRange:NSMakeRange([[_sevenForDisplay substringWithRange:NSMakeRange(i,1)] intValue]-1,1) withString:@"1"];

    NSOperation *operation = [[NSInvocationOperation alloc]
                              initWithTarget:self
                              selector:@selector(blinkPicSeven:)
                              object:@(_forBlink)];

    [queue addOperation:operation];

}

[userDefaults setObject:_sevensForReplace forKey:@"sevens"];
for(int i=0;i<\u七倍显示长度;i++){
_sevensForReplace=[[u sevensForReplace stringByReplacingCharactersInRange:NSMakeRange([[u sevensfordisplay substringWithRange:NSMakeRange(i,1)]intValue]-1,1),带字符串:@“1”];
NSOperation*操作=[[NSInvocationOperation alloc]
initWithTarget:self
选择器:@selector(blinkPicSeven:)
对象:@(_forBlink)];
[队列添加操作:操作];
}
[用户默认设置对象:_sevensforreplaceforkey:@“sevens”];
当代码在程序工作过程中执行时,最后一行出现错误,消息为-Thread 1:EXC_BAD_ACCESS(代码=1,地址=0x7a0090018)

我一步一步地开始调试(我在一个周期的开始和F6的进一步调试),一切都正常通过


在旧的OSX和Xcode版本中,一切正常,但在新版本中不正常。(该项目在一年中处于领先地位)

在为其打造价值之前,确保您的
[[NSString alloc]init]
您的
\u sevensForReplace
。现在看来,尤其是在XCode 6上。SDK被选为8.2时,那些
NSString
分配(init)的应用程序似乎崩溃了,尽管在8.2之前这项措施并不是真正必要的,如果您不想分配,init您可以这样使用它:

[self setSevensForReplace:[[self sevensForReplace] stringByReplacingCharactersInRange:NSMakeRange([[[self sevensForReplace] substringWithRange:NSMakeRange(i,1)] intValue]-1,1) withString:@"1"]];