Iphone 目标C碰撞问题:NSInvalidArgumentException
我陷入其中很长时间,但找不到解决办法。这是我的代码:`Iphone 目标C碰撞问题:NSInvalidArgumentException,iphone,objective-c,ios,memory-management,xcode4,Iphone,Objective C,Ios,Memory Management,Xcode4,我陷入其中很长时间,但找不到解决办法。这是我的代码:` NSLog(@"[tempArray retainCount]: %d",[tempArray retainCount]); tempArray = [[NSMutableArray alloc] initWithArray:[allRemainingProductsDictionary objectForKey:[[allRemainingProductsDictionary allKeys]objectAtIndex:count
NSLog(@"[tempArray retainCount]: %d",[tempArray retainCount]);
tempArray = [[NSMutableArray alloc] initWithArray:[allRemainingProductsDictionary objectForKey:[[allRemainingProductsDictionary allKeys]objectAtIndex:counter]]];
NSMutableDictionary *tempDictionary = [[NSMutableDictionary alloc] init];
[tempDictionary setObject:productName forKey:@"name"];
[tempArray release];
我收到一个NSException崩溃报告。请帮助。是否显示NSLog条目?如果不是,那是因为tempArray不响应retainCount。如果您使用的是带ARC for iOS 5的Xcode 4.2(您应该这样做,除非您有遗留代码),那么您不必担心任何关于
发布
或保留
的问题
否则,您将向某个对象发送一条它没有响应的消息。发送到NSDictionary实例的方法getObjects:range:是一个NSArray方法
您可能试图通过数组传递NSDictionary而不是NSArray来初始化您实际上可以复制并粘贴崩溃日志,而不是制作屏幕截图。我不擅长格式化。。。当然我会改进的。你是想从你发布的杂乱的广告链接中获利吗?我使用的是XCode 4。NSLog条目显示时保留计数为0。它仅显示是因为您运气好;临时数组为零。在这种情况下,重新计数是无用的和无关的。