Ios 将数据从一个ViewController传递到另一个ViewController时,应用程序崩溃

Ios 将数据从一个ViewController传递到另一个ViewController时,应用程序崩溃,ios,objective-c,crash,unrecognized-selector,Ios,Objective C,Crash,Unrecognized Selector,我试图将itemSearch文本字段中的字符串从我的SearchViewController传递到我的CriteriaViewController。我已根据此线程设置了所有内容:。唯一的区别是,我传递的不是布尔,而是字符串。我认为我的错误在于我如何处理这部分:controller.itemSearch==self.itemSearch.text 错误消息: -[CriteriaViewController topViewController]: unrecognized selector sen

我试图将
itemSearch
文本字段中的字符串从我的
SearchViewController
传递到我的
CriteriaViewController
。我已根据此线程设置了所有内容:。唯一的区别是,我传递的不是布尔,而是字符串。我认为我的错误在于我如何处理这部分:
controller.itemSearch==self.itemSearch.text

错误消息:

-[CriteriaViewController topViewController]: unrecognized selector sent to instance 0xa99df90
2014-04-17 17:54:20.534 Parse+Storyboard[7095:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:'-[CriteriaViewController topViewController]: unrecognized selector sent to instance 0xa99df90'
*** First throw call stack:
(
    0   CoreFoundation                      0x02a751e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x026338e5 objc_exception_throw + 44
    2   CoreFoundation                      0x02b12243 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
    3   CoreFoundation                      0x02a6550b ___forwarding___ + 1019
    4   CoreFoundation                      0x02a650ee _CF_forwarding_prep_0 + 14
    5   Parse+Storyboard                    0x0000348e -[SearchViewController prepareForSegue:sender:] + 238
    6   UIKit                               0x01857efa -[UIStoryboardSegueTemplate _perform:] + 156
    7   UIKit                               0x0141441c -[UIViewController performSegueWithIdentifier:sender:] + 72
    8   Parse+Storyboard                    0x000032d1 __35-[SearchViewController nextButton:]_block_invoke + 257
    9   Parse+Storyboard                    0x0007a087 __40-[PFTask thenCallBackOnMainThreadAsync:]_block_invoke_2 + 241
    10  libdispatch.dylib                   0x036857b8 _dispatch_call_block_and_release + 15
    11  libdispatch.dylib                   0x0369a4d0 _dispatch_client_callout + 14
    12  libdispatch.dylib                   0x03688726 _dispatch_main_queue_callback_4CF + 340
    13  CoreFoundation                      0x02ada43e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14
    14  CoreFoundation                      0x02a1b5cb __CFRunLoopRun + 1963
    15  CoreFoundation                      0x02a1a9d3 CFRunLoopRunSpecific + 467
    16  CoreFoundation                      0x02a1a7eb CFRunLoopRunInMode + 123
    17  GraphicsServices                    0x02cd25ee GSEventRunModal + 192
    18  GraphicsServices                    0x02cd242b GSEventRun + 104
    19  UIKit                               0x012f3f9b UIApplicationMain + 1225
    20  Parse+Storyboard                    0x000028ad main + 141
    21  libdyld.dylib                       0x038cf701 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
SearchViewController.h:

#import <UIKit/UIKit.h>
#import <Parse/Parse.h>
#import <Parse/PFCloud.h>
#import "CriteriaViewController.h"


@interface SearchViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIButton *nextButtonOutlet;

@end
CriteriaViewController.h

#import <UIKit/UIKit.h>
#import <Parse/Parse.h>

@interface CriteriaViewController : UIViewController

@property (nonatomic) IBOutlet UITextField *itemSearch;

@end
#导入
#进口
@接口标准ViewController:UIViewController
@属性(非原子)IBOutlet UITextField*itemSearch;
@结束
这一行:

controller.itemSearch == self.itemSearch.text;
=用于比较而非赋值,请将其替换为一个等号。

此行:

controller.itemSearch == self.itemSearch.text;
=用于比较而非赋值,请将其替换为一个等号。

此行:

controller.itemSearch == self.itemSearch.text;
=用于比较而非赋值,请将其替换为一个等号。

此行:

controller.itemSearch == self.itemSearch.text;

=用于比较而非赋值,请将其替换为一个等号。

通过阅读崩溃消息:

-[CriteriaViewController topViewController]:发送到实例0xa99df90的选择器无法识别 2014-04-17 17:54:20.534解析+情节提要[7095:60b]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[CriteriaViewController-topViewController]:无法识别的选择器发送到实例0xa99df90'

看起来像是
UINavigationController*navController=(UINavigationController*)segue.destinationViewController
正在返回“CriteriaViewController”而不是UINavigationController


如果不查看故事板文件,很难确认。你应该检查你的故事板文件;通过读取崩溃消息,segue应指向包含CriteriaViewController的UINavigationController:

-[CriteriaViewController topViewController]:发送到实例0xa99df90的选择器无法识别 2014-04-17 17:54:20.534解析+情节提要[7095:60b]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[CriteriaViewController-topViewController]:无法识别的选择器发送到实例0xa99df90'

看起来像是
UINavigationController*navController=(UINavigationController*)segue.destinationViewController
正在返回“CriteriaViewController”而不是UINavigationController


如果不查看故事板文件,很难确认。你应该检查你的故事板文件;通过读取崩溃消息,segue应指向包含CriteriaViewController的UINavigationController:

-[CriteriaViewController topViewController]:发送到实例0xa99df90的选择器无法识别 2014-04-17 17:54:20.534解析+情节提要[7095:60b]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[CriteriaViewController-topViewController]:无法识别的选择器发送到实例0xa99df90'

看起来像是
UINavigationController*navController=(UINavigationController*)segue.destinationViewController
正在返回“CriteriaViewController”而不是UINavigationController


如果不查看故事板文件,很难确认。你应该检查你的故事板文件;通过读取崩溃消息,segue应指向包含CriteriaViewController的UINavigationController:

-[CriteriaViewController topViewController]:发送到实例0xa99df90的选择器无法识别 2014-04-17 17:54:20.534解析+情节提要[7095:60b]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[CriteriaViewController-topViewController]:无法识别的选择器发送到实例0xa99df90'

看起来像是
UINavigationController*navController=(UINavigationController*)segue.destinationViewController
正在返回“CriteriaViewController”而不是UINavigationController



如果不查看故事板文件,很难确认。你应该检查你的故事板文件;segue应该指向包含CriteriaViewController的UINavigationController

如果要将目标视图控制器设置为UINavigationController的segue标识符“ShowCriteriaSegue”,则应该在情节提要中仔细检查。因为我看到了这么多类似的问题,我很好奇你对错误消息不了解的原因。消息对您意味着什么(我指的是第一行,而不是调用堆栈)?让我困惑的是读取发送到实例的
未识别选择器的部分。这是否意味着我正在引导它将数据发送到CriteriaViewController,而我应该将数据发送到环绕它的导航控制器?我添加了情节提要的屏幕截图以澄清问题。
[CriteriaViewController topViewController]:无法识别的选择器
非常准确地告诉您出了什么问题。这意味着您有一个
CriteriaViewController
,并试图在其上执行方法
topViewController
,而该类不实现该方法。通常发生此错误是因为您以某种方式拾取了错误的对象指针。而
[SearchViewController prepareForSegue:sender:+238
告诉您这发生在
prepareForSegue
第238行。如果您正在设置目标视图控制器,则应在情节提要中再次检查序列标识符“ShowCriteriaSegue”,作为一个UINavigationController。因为我看到了这么多这样的问题,我很好奇为什么您不理解错误消息。错误消息对您意味着什么(我指的是第一行,而不是调用堆栈)?让我困惑的是读取发送到实例的
未识别选择器的部分