- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下产生此错误的代码。我不明白为什么将 subarrayWithRange 消息发送到字符串?什么时候明明是数组?
static const int kItemsPerView = 20;
NSRange rangeForView = NSMakeRange( page * kItemsPerView, kItemsPerView );
NSMutableArray *temp = [[APP_DELEGATE keysArray] mutableCopyWithZone:NULL];
NSArray *itemsForView = [temp subarrayWithRange:rangeForView];
for (int loopCounter = 0;loopCounter < r*c;loopCounter++){
NSLog(@"%i: %@ ", loopCounter, [itemsForView objectAtIndex:loopCounter]);
}
错误:
-[NSCFString subarrayWithRange:]: unrecognized selector sent to instance 0x6b071a0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: [NSCFString subarrayWithRange:]:
谢谢
最佳答案
这些类型的错误通常与内存管理相关。本质上,您正在向一个地址发送消息,而该地址现在已被其他对象占用,因为之前的占用者意外消失了。由于该地址空间可能被任何东西占用,您只是碰巧向 NSCFString 询问它不响应的内容。
如果在创建临时数组后立即暂停调试器,您会看到分配给临时数组的是什么?我猜 -keysArray 返回的东西不太对劲。您可能想要仔细检查内存在应该返回的任何内容中是如何处理的。顾名思义,我想您的应用程序委托(delegate)有一个名为“keysArray”的数组作为实例变量。也许在创建或分配时没有正确保留它?
关于objective-c - 无法识别的选择器发送到实例 [NSCFString subarrayWithRange :],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858515/
我一直在解决很多内存泄漏问题,但没有成功解决这个问题。由于 [NSCFString substringWithRange:] 导致大量 NSCF 内存泄漏。我一直在检查所有的字符串分配,并在适当的地方
我正在从事一个需要格外小心内存的项目。我在仪器上运行了模拟,它显示了下一个泄漏: 泄露的对象:NSCFString 大小:80 字节 负责图书馆:基金会 责任框架:NSPlaceHolderStrin
我遇到了一个奇怪的问题,将 NSDictionary 存储到 NSUserDefaults,然后检索它会将其转换为 NSCFString。 这是我保存数据的地方: - (void)saveProgre
我正在遍历通过 API 调用获得的一组数字: 例如[6000, 6001, 2000] 这是我的代码: for(NSNumber* arrayID in array){
这是我使用 JSON 从 MySQL 表中检索数据的代码: //URL definition where php file is hosted int categoriaID = [[cate
我有一个小问题,在 Google 中找不到:UITableView 工作正常,直到我开始滚动。 Error Message: `-[NSCFString objectAtIndex:]: unreco
仪器告诉我 NSCFString 16Bytes 基础 -[NSPlaceholderString 我的代码是这样的: BOOL rslt = [self sendLogInfo:[NSString
我正在开发一个 iOS 4 应用程序。 我有一个具有 NSMutableDictionary 属性的类: @interface CardHelper : NSObject { ...
我的 json : { "name": "notification", "args": [ "{\"data\": [{\"foreignId\":\"BF7E9276D860
我只是出于测试目的编写以下代码: NSString *aStr = [[NSString alloc] initWithFormat:@"Foo"]; aStr = [aStr initWithFor
在我的 iOS 项目中,我收到此警告: Local declaration of data hides instance variable. 当我运行它时,它崩溃并给出了这个错误: NSCFStrin
我只是为了测试目的编写了以下代码: NSString *aStr = [[NSString alloc] initWithFormat:@"Foo"]; aStr = [aStr initWithFo
我阅读了有关 S.O 的资料,并在谷歌上做了一些搜索,但我无法找到我的问题的答案...... 我有一个 NSDictionary,它返回 NSCFString's,我需要的是一个 NSString,这
我正在从服务器获取字典 myDictionary = { "rank":"1", "color":"red", "position":"middle" } 现在我想在 if 条件下检查键“positi
我正在尝试使用此代码捕获按键。我的问题是 Instruments 会抛出一条关于泄漏的消息。 我在没有垃圾收集的情况下工作。 -(void)keyDown:(NSEvent *)theEvent {
我有以下产生此错误的代码。我不明白为什么将 subarrayWithRange 消息发送到字符串?什么时候明明是数组? static const int kItemsPerView = 20; NSR
我的目标非常简单——我试图为一些测试数据设置一个 NSString,然后返回类,它应该是 NSString。这是我的代码: NSString* stringer = [NSString stringW
我正在 NSString 中获取一个 NSMutabledictionary 对象,如下所示: NSString *state=[d valueForKey:@"State"]; 现在有时状态可能为空
我是 iPhone 开发新手,一直很难弄清楚为什么我的 table 无法工作。我不确定,这可能与核心数据有关。 viewDidLoad 方法一开始工作正常,但是当我尝试滚动 TableView 时,当
我仅从一位用户那里收到了30多个崩溃报告。没有人显示相同的行为。通常,我可以找出问题所在,因为总是有对我的代码的引用,但是没有引用。 它们都是来自类型: Exception Type: EXC_CR
我是一名优秀的程序员,十分优秀!