Iphone 使用UIButton转换UIView时出现问题
我是一个非常缺乏经验的开发人员,遇到了一个应该很容易解决的问题,但是在阅读了几个小时苹果的开发人员指南和这个网站上的许多不同问题之后,我仍然感到困惑 我所要做的就是通过UIButton从我的根视图控制器转换到下一个视图控制器 以下是appdelegate.h:Iphone 使用UIButton转换UIView时出现问题,iphone,objective-c,uinavigationcontroller,uibutton,Iphone,Objective C,Uinavigationcontroller,Uibutton,我是一个非常缺乏经验的开发人员,遇到了一个应该很容易解决的问题,但是在阅读了几个小时苹果的开发人员指南和这个网站上的许多不同问题之后,我仍然感到困惑 我所要做的就是通过UIButton从我的根视图控制器转换到下一个视图控制器 以下是appdelegate.h: #import <UIKit/UIKit.h> @class MainViewController; @interface MDAppDelegate : NSObject <UIApplicationDelegat
#import <UIKit/UIKit.h>
@class MainViewController;
@interface MDAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@end
{
MainViewController.h:
#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController {
UIButton *cityButton;
}
@property (nonatomic, retain) IBOutlet UIButton *cityButton;
- (IBAction)chooseCityAction:(id)sender;
@end
以下是错误:
2011-10-03 21:56:14.258 MD[4235:207] *** Terminating app due to uncaught exception
'NSUnknownKeyException', reason: '[<UIViewController 0x4b434c0>
setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key
cityButton.'
我很想知道我遗漏了什么。在推送dailyDealViewController之前,您已经发布了它。请将发布声明移到推送ViewController声明之后。谢谢Akshay,但实际上我最初是这样做的,并且我也收到了相同的错误!当然,发布声明将在稍后发布。因此,请保留该声明y、 是否已将按钮连接到Interface builder中的操作?很好,我将其更改回原来的位置,然后将其保留。该按钮连接到文件所有者ChooseCityaAction作为内部润色。按下按钮后,我最终需要将其隐藏,因此我还连接到了文件所有者的引用插座下检查您的DailyDealViewController xib文件。确保视图控制器设置为DailyDealViewController&而不是UIViewController。这应该是根本原因。
#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController {
UIButton *cityButton;
}
@property (nonatomic, retain) IBOutlet UIButton *cityButton;
- (IBAction)chooseCityAction:(id)sender;
@end
#import "MainViewController.h"
#import "DailyDealViewController.h"
@implementation MainViewController
@synthesize cityButton;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
- (void)dealloc
{
[cityButton release];
[super dealloc];
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"Back";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[temporaryBarButtonItem release];
}
- (void)viewDidUnload
{
[self setCityButton:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (IBAction)chooseCityAction:(id)sender {
DailyDealViewController *dailyDealViewController = [[DailyDealViewController alloc]initWithNibName:@"DailyDealViewController" bundle:nil];
[dailyDealViewController release];
[self.navigationController pushViewController:dailyDealViewController animated:YES];
}
@end
2011-10-03 21:56:14.258 MD[4235:207] *** Terminating app due to uncaught exception
'NSUnknownKeyException', reason: '[<UIViewController 0x4b434c0>
setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key
cityButton.'