进行锻炼我正在尝试从头开始基于标签栏开发一个简单的iPhone应用程序,但我遇到了一些问题.. 我已按照以下步骤进行操作:http://www.techotopia.com/index.php/Creating_an_iPhone_Multiview_Application_using_the_Tab_Bar
应用程序正确加载三个视图,直到内部没有连接;如果我将任何插座或操作连接到子视图的标签或按钮,应用程序崩溃。
例如,我的firstView.h包含:
#import <UIKit/UIKit.h>
@interface firstView : UIViewController {
IBOutlet UILabel *resultLabel;
}
-(IBAction)randomizeAction;
@property (nonatomic , retain) IBOutlet UILabel *resultLabel;
@end
和firstView.m
-(IBAction)randomizeAction:(id)sender
{
//NSInteger rand = arc4random() % 75;
//resultLabel.text = [ [NSString alloc] initWithFormat:@"Random integer: @%",rand];
UIAlertView *alert = [ [UIAlertView alloc] initWithTitle:@"Yeah!" message:@"Yeah" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil ];
[alert show];
[alert release];
}
如果我将标签连接到resultOutlet或按钮连接到“randomizeAction”方法,那么当我切换到相关视图时,应用程序会崩溃。 错误在哪里?
答案 0 :(得分:1)
randomizeAction
,并使用参数实现了它。
您的代码应如下所示:
#import <UIKit/UIKit.h>
@interface firstView : UIViewController {
UILabel *resultLabel;
}
@property (nonatomic , retain) IBOutlet UILabel *resultLabel;
-(IBAction)randomizeAction:(id)sender;
@end
和firstView.m
-(IBAction)randomizeAction:(id)sender
{
//do stuff
}
答案 1 :(得分:0)
从该错误消息看,您的视图控制器似乎未在Interface Builder中正确连接。您确定您的视图控制器(IB中的文件所有者)被识别为firstView的实例吗?检查XCode中Identity Inspector中的类。
如果您可以显示声明和创建视图控制器的代码(很可能是在App Delegate中),那将会很有帮助。
答案 2 :(得分:-1)
我不确定,但我认为你必须改变这个:
@interface DetailViewController : UIViewController
致:
@interface firstView : UIViewController