Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Objective c 其他类中的属性上无法识别的选择器_Objective C_Ios_Debugging_Compiler Errors_Unrecognized Selector - Fatal编程技术网

Objective c 其他类中的属性上无法识别的选择器

Objective c 其他类中的属性上无法识别的选择器,objective-c,ios,debugging,compiler-errors,unrecognized-selector,Objective C,Ios,Debugging,Compiler Errors,Unrecognized Selector,编译时,我收到以下错误消息: 2011-11-27 14:59:32.049 Storyboard[12104:f803] -[TargetViewController setPeople:]:unrecognized selector sent to instance 0x6d50310 2011-11-27 14:59:32.051 Storyboard[12104:f803] *** Terminating app due to uncaught exception 'NSInvalidA

编译时,我收到以下错误消息:

2011-11-27 14:59:32.049 Storyboard[12104:f803] -[TargetViewController setPeople:]:unrecognized selector sent to instance 0x6d50310
2011-11-27 14:59:32.051 Storyboard[12104:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TargetViewController setPeople:]: unrecognized selector sent to instance 0x6d50310'
*** First throw call stack:
(0x13c5052 0x1556d0a 0x13c6ced 0x132bf00 0x132bce2 0x2877 0x1a9d6 0x1b8a6 0x2a743 0x2b1f8 0x1eaa9 0x12affa9 0x13991c5 0x12fe022 0x12fc90a 0x12fbdb4 0x12fbccb 0x1b2a7 0x1ca9b 0x2508 0x2465)
terminate called throwing an exception
有趣的是,我的TargetViewController甚至没有“people”属性(NSMutableArray)

我的应用程序的结构是,我有一个tabbarcontroller和一个tableView,其中有一个detailView,在第二个选项卡中有一个普通视图(targetVieController)和一个popover

(正如你可能看到的,我用一个故事板设置了整个程序,这也是我的应用程序的名称

感谢您的快速帮助


编辑

也许我应该补充一点,一旦应用程序开始加载,编译器就会抛出错误

根据Michaels和MrMusic的建议,我搜索了我的呼叫堆栈以查找联系人,得到了以下信息:

\u cmd=SEL 0x6eae setPeople:
(我想这只是一个断点存在的通知)

令人惊讶的是,我有一个数组,其中包含到“humans”,但它们没有显示在我的tableview的另一个选项卡中

回溯:

#0  -[TargetViewController setPeople:] (self=0x6891f90, _cmd=0x6e8e, b=0x689a8d0) at /Developer/Projects/Storyboard/Storyboard/TargetViewController.m:73
#1  0x000027c7 in -[CoverdaleAppDelegate application:didFinishLaunchingWithOptions:] (self=0x6a7a650, _cmd=0x4c796a, application=0xad74840, launchOptions=0x0) at /Developer/Projects/Storyboard/Storyboard/CoverdaleAppDelegate.m:44
#2  0x0001a9d6 in -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] ()

#3  0x0001b8a6 in -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] ()
#4  0x0002a743 in -[UIApplication handleEvent:withNewEvent:] ()
#5  0x0002b1f8 in -[UIApplication sendEvent:] ()
#6  0x0001eaa9 in _UIApplicationHandleEvent ()
#7  0x012affa9 in PurpleEventCallback ()
#8  0x013991c5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#9  0x012fe022 in __CFRunLoopDoSource1 ()
#10 0x012fc90a in __CFRunLoopRun ()
#11 0x012fbdb4 in CFRunLoopRunSpecific ()
#12 0x012fbccb in CFRunLoopRunInMode ()
#13 0x0001b2a7 in -[UIApplication _run] ()
#14 0x0001ca9b in UIApplicationMain ()
#15 0x00002458 in main (argc=1, argv=0xbffff644) at /Developer/Projects/Storyboard/Storyboard/main.m:16
在项目中搜索“.people”和“setPeople”以查看
NSMutableArray
集合的设置位置。请验证您始终在适当的对象(具有people属性的对象或具有people属性的对象的子类)上设置
people

编辑:某个地方正在尝试设置人员集合。如果搜索“.people”和“setPeople”实际上没有返回任何内容,那么可能是IB或故事板中的某个内容正在尝试设置人员。我最初的想法是某个视图控制器错误地输入了TargetViewController,并且正在尝试设置人员(可能您说的是
myViewController.people=…
其中myViewController的类型错误。

在项目中搜索“.people”和“setPeople”以查看该
NSMutableArray
集合的设置位置。请验证您始终在适当的对象上设置
people
(具有人民财产的对象或具有人民财产的对象的子类)



编辑:某个地方正在尝试设置人员集合。如果搜索“.people”和“setPeople”实际上没有返回任何内容,那么可能是IB或故事板中的某个内容正在尝试设置人员。我最初的想法是某个视图控制器错误地输入了TargetViewController,并且正在尝试设置人员(也许你说的是
myViewController.people=…
,其中myViewController是错误的类型。

你可能在某个地方有内存泄漏。任何具有setPeople方法的类都可能没有正确地保留在某个地方。

你可能在某个地方有内存泄漏。任何具有setPeople方法的类都可能没有ing正确地保留在某个地方。

要捕获调用伪setter的人或内容,为什么不在
TargetViewController
中临时创建一个
setPeople
方法并在那里设置断点?已经设置了…没有错误。如果我在那里留下一个空方法,只留下“setPeople”,除了我的数组(“people”)之外,我不会收到任何警告,我用来填写我的应用程序委托的现在是空的…在setPeople中设置一个断点,并查看调用堆栈以了解试图设置人员的人/事。我更新了答案,仍然没有线索…根据堆栈跟踪,您的问题必须在CoverdaleAppDelegate.m第44行。需要查看该行的代码以了解更多信息具体来说。要捕获调用伪setter的人或内容,为什么不在
TargetViewController
中临时创建一个
setPeople
方法并在那里设置断点?已经设置了…没有错误。如果我在那里留下一个空方法,只留下“setPeople”,除了我的数组(“people”)之外,我不会收到任何警告,我用来填写我的应用程序委托的现在是空的…在setPeople中设置一个断点,并查看调用堆栈以了解试图设置人员的人/事。我更新了答案,仍然没有线索…根据堆栈跟踪,您的问题必须在CoverdaleAppDelegate.m第44行。需要查看该行的代码以了解更多信息特别是。已经这样做了…在targetView或我的Popover控制器中没有人准备好了…在targetView或我的Popover控制器中没有人我使用自动引用计数啊nevermind然后。我通常会将此错误作为内存泄漏的症状。我使用自动引用计数啊nevermind然后。我通常会得到这个error是内存泄漏的症状。