我试图创建一个简单的测验应用程序(我是一个初学者),当我启动应用程序时,我想要一个UILabel来显示第一个问题(一系列问题)。我在设置初始值时遇到了一些麻烦。设置初始值UILABEL
我已经做了几次尝试,结果成功了。我在我的QuizAppDelegate.h文件我宣布我的UILabel这样的:
IBOutlet UILabel * questionField;
在我的主要.m文件我已经试过如下:
- (id)init {
[super init];
questions = [[NSMutableArray alloc] init];
// Not working
questionField = [[UILabel alloc] init];
[questionField setText:@"Hello"];
// Working
NSLog(@"Hello");
[self defaultQuestions];
// [self showQuestion];
return self;
}
我曾尝试另一件事是在QuizAppDelegate如下:
@property (nonatomic, retain) IBOutlet UILabel *questionField;
- (void)changeTitle:(NSString *)toName;
而在.m文件:
@synthesize questionField;
- (id)init {
[super init];
questions = [[NSMutableArray alloc] init];
// Not working
[self changeTitle:@"Hello"];
// Working
NSLog(@"Hello");
[self defaultQuestions];
// [self showQuestion];
return self;
}
-(void)changeTitle:(NSString *)toName {
[questionField setText:toName];
}
关于如何解决这个问题的任何提示都会很棒!
//安德斯
如果您要创建一个新的'UIViewController'子类,请转到基于视图的应用程序模板。然后在'.h'中声明ivar和property,并在'viewDidLoad'方法中放置'self.questionField.text = @“hello”;'。如果你“保留”它,你一定要在'dealloc'中释放标签。 – FeifanZ 2011-06-10 21:25:03
非常感谢。它工作完美。 :D – Anders 2011-06-10 21:40:23
出于好奇,你在做什么错了? – FeifanZ 2011-06-10 21:48:09