【发布时间】:2014-08-13 02:35:57
【问题描述】:
我有一个 NSArray 类型的实例变量 _sessions。 在整个 TableViewController 方法中,我访问它并且很好。但是当在 prepareForSegue 中,我尝试访问它或它的值时,它会抛出这个错误..
相关代码:
@interface SessionsTVC()
{
NSArray *_sessions;
JSONDataRetriever *jsonRetriever;
NSString *requestURL;
}
@end
在@实现中:
_sessions = [[NSArray alloc]initWithArray:_tempArray];
给我带来麻烦的线路:
NSLog([_sessions objectAtIndex:1]);
或
NSLog(_sessions);
更奇怪的是这行得通:
NSLog([@(_sessions.count) stringValue]);
编辑:
NSLog([@(_sessions.count) stringValue]);还给我 2(完全正确)..
完整的错误消息
2014-08-13 23:14:46.548 ReadDatabase[15142:650918]-[会话长度]:无法识别的选择器发送到实例 0x7fb5fbf55090 2014-08-13 23:14:46.644 ReadDatabase[15142:650918] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[会话长度]:无法识别的选择器发送到实例 0x7fb5fbf55090” * 首先抛出调用栈: ( 0 CoreFoundation 0x00000001074313e5 异常预处理+ 165 1 libobjc.A.dylib 0x00000001070e1967 objc_exception_throw + 45 2核心基础0x00000001074384fd-[NSObject(NSObject)不识别选择器:]+205 3 核心基础 0x00000001073907ec ___forwarding_ + 988 4 核心基础 0x0000000107390388 _CF_forwarding_prep_0 + 120 5 核心基础 0x000000010732a39b CFStringAppendFormatCore + 235 6 核心基础 0x0000000107411c00 _CFStringCreateWithFormatAndArgumentsAux2 + 256 7 核心基础 0x0000000107420a4f _CFLogvEx2 + 127 8 基础 0x0000000106c7da22 NSLogv + 99 9 基础 0x0000000106c7d9a7 NSLog + 148 10 读取数据库 0x00000001054a36f6 -[SessionsTVC prepareForSegue:sender:] + 518 11 UIKit 0x0000000105f04716-[UIStoryboardSegueTemplate _perform:] + 151 12 UIKit 0x0000000105aa0d40-[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1242 13 UIKit 0x0000000105aa0eb4-[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 219 14 UIKit 0x00000001059dc97e _applyBlockToCFArrayCopiedToStack + 314 15 UIKit 0x00000001059dc7f8 _afterCACommitHandler + 516 16 核心基础 0x0000000107366337 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23 17 核心基础 0x0000000107366290 __CFRunLoopDoObservers + 368 18 核心基础 0x000000010735c0c3 __CFRunLoopRun + 1123 19 核心基础 0x000000010735b9f6 CFRunLoopRunSpecific + 470 20 图形服务 0x000000010960c9f0 GSEventRunModal + 161 21 UIKit 0x00000001059b9990 UIApplicationMain + 1282 22 读取数据库 0x00000001054a2bf3 主要 + 115 23 libdyld.dylib 0x0000000109def145 开始 + 1 24 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib:以 NSException 类型的未捕获异常终止 (lldb)
【问题讨论】:
-
请包括有问题的错误(不仅仅是标题)。
-
请复制/粘贴完整错误,包括该文本后面的行话。
-
是的,请同时添加您的错误描述
-
如果您费心阅读,错误消息会准确地告诉您出了什么问题。或者,如果您将其发布在这里,那么我们可以阅读并告诉您出了什么问题。但是,如果缺少这一点,甚至问这个问题也没有意义。
-
我向你保证,我玩了几个小时的错误,没有任何运气。我无法理解 [_sessions count] 消息如何正常工作,但每当我尝试访问存储在 _sessions 中的项目时,我都会收到错误消息。已将完整错误添加到问题中。谢谢各位。
标签: ios objective-c nsarray