我是你的助手,接下来为你翻译内容。
我正在开发我的第一个真正的iPhone应用程序,一个简单的待办事项列表应用程序,帮助我组织事情,但我遇到了“未识别的选择器发送到实例0x”的问题。
具体来说:
我已经查看了相关内容,发现可能是IB中的连接问题,但我对连接这个整个过程还很陌生(天哪,我希望他们支持Java或Python),以下是它的布局方式。我有3个类,一个SwitchViewController、一个MainScreenViewController和一个ToDoListViewController。当我在MainScreenViewController上点击一个按钮时,就会触发“switchViews”函数,而这个函数就出现了问题。我设置的方式是,这个按钮(一个UIBarButtonItem)的“sentAction”指向switchViews。这个ViewButton将其引用输出作为SwitchViewController中的IBOutlet。
以下是SVC的.h文件:
我正在开发我的第一个真正的iPhone应用程序,一个简单的待办事项列表应用程序,帮助我组织事情,但我遇到了“未识别的选择器发送到实例0x”的问题。
具体来说:
2010-02-20 14:30:09.200 ToDoApp[88562:20b] *** -[NSCFDictionary switchViews:]: unrecognized selector sent to instance 0x3d22de0
2010-02-20 14:30:09.201 ToDoApp[88562:20b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFDictionary switchViews:]: unrecognized selector sent to instance 0x3d22de0'
我已经查看了相关内容,发现可能是IB中的连接问题,但我对连接这个整个过程还很陌生(天哪,我希望他们支持Java或Python),以下是它的布局方式。我有3个类,一个SwitchViewController、一个MainScreenViewController和一个ToDoListViewController。当我在MainScreenViewController上点击一个按钮时,就会触发“switchViews”函数,而这个函数就出现了问题。我设置的方式是,这个按钮(一个UIBarButtonItem)的“sentAction”指向switchViews。这个ViewButton将其引用输出作为SwitchViewController中的IBOutlet。
以下是SVC的.h文件:
#import <UIKit/UIKit.h>
@class MainScreenViewController;
@class ToDoListViewController;
@class EditViewController;
#define kMinimumGestureLength 25
#define kMaximumVariance 5
@interface SwitchViewController : UIViewController {
MainScreenViewController *mainScreenViewController;
ToDoListViewController *toDoListViewController;
EditViewController *editViewController;
IBOutlet UIBarButtonItem *viewButton;
CGPoint gestureStartPoint;
}
@property (retain, nonatomic) MainScreenViewController *mainScreenViewController;
@property (retain, nonatomic) ToDoListViewController *toDoListViewController;
@property (retain, nonatomic) EditViewController *editViewController;
@property (retain, nonatomic) IBOutlet UIBarButtonItem *viewButton;
@property CGPoint gestureStartPoint;
-(IBAction)switchViews:(id)sender;
对于switchViews函数:
-(IBAction) switchViews:(id)sender
{
NSLog(@"Switching views");
if(self.toDoListViewController.view.superview == nil){
if(self.toDoListViewController ==nil){
ToDoListViewController *toDoVC = [[ToDoListViewController alloc] initWithNibName:@"ToDoListView" bundle:nil];
self.toDoListViewController = toDoVC;
//[toDoVC release];
}
[mainScreenViewController.view removeFromSuperview];
[self.view insertSubview:toDoListViewController.view atIndex:0];
}
else{
if(self.mainScreenViewController == nil){
MainScreenViewController *mainController = [[MainScreenViewController alloc] initWithNibName:@"MainScreenView" bundle:nil];
self.mainScreenViewController = mainController;
//[mainController release];
}
[toDoListViewController.view removeFromSuperview];
[self.view insertSubview:mainScreenViewController.view atIndex:0];
}
}
简而言之,我完全迷失了方向,这真的很令人沮丧。有人有任何建议或需要更多代码吗?