我正在尝试为iPhone 4编写一个“hello world”。由于这是我第一次尝试iPhone应用程序开发,以及我对Objective C的第一次体验,请随时假设您需要教我如何吸吮鸡蛋就在这一个。
作为我的基础,我从http://appsamuck.com/day1.html教程开始 - 但它已经过时了,除非我解构步骤,否则我不会去任何地方。
此时我正在查看他告诉您如何向显示器添加标签的部分 AND 添加对标签的引用。
不幸的是,它似乎并没有恰当地融合在一起。
基本上,当我运行“Built and Run”按钮时,我希望模拟器做的是“MyLabel”更改为“HERE”
如果全部运行,则没有错误,但cdLabel.text没有更改为“HERE”。
我有一张基本GUI设置的照片 - 并且可以发布所需的任何其他信息。
ViewController.h
读取:
@interface MinutesToMidnightViewController : UIViewController {
IBOutlet UILabel *cdLabel;
}
-(void)updateLabel;
ViewController.m
中包含以下功能:
-(void)updateLabel {
cdLabel.text = [NSString: "HERE"];
}
最后 - 有一张我如何在界面设计器中设置GUI位的照片:
如果有人可以在最后一点连接点,我会非常感激! (此外,对IOS4初学者教程或开源APPS的指导将受到高度重视:)
谢谢! - A
更新
在回答何时拨打updateLabel
我有功能
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[viewController updateLabel];
}
内置于我的MinutesToMidnightAppDelegate.m
文件
答案 0 :(得分:1)
写得好的问题(+1为此)
我很惊讶这一行汇编:
cdLabel.text = [NSString: "HERE"];
试试这个:
cdLabel.text = @"HERE"; // this is how you write a literal NSString
如果不起作用,请在此行上设置断点并检查cdLabel是否为零。如果它是零,那么返回并在IB中仔细检查您的连接。很难看出你发布的分辨率,但如果我眯着眼睛它看起来还不错。 :)
此外,updateLabel在哪里调用?
修改的
applicationDidFinishLaunching:在正常加载viewController的视图之前调用。实际上,该方法通常会出现第一个viewController的视图。
在任何情况下,您都应该在 - [UIViewController viewDidLoad]中设置您的视图,该视图在加载视图后调用(正如您可能从名称中猜到的那样)
或 - [UIViewController viewWillAppear]如果你想在每次出现视图时这样做。
答案 1 :(得分:1)
在.m中合成cdLabel,并在viewDidLoad中设置label.text。此外,[NSString:“Here”]将无效。只需使用cdLabel.text = @"HERE";
(与cdLabel.text = [NSString stringWithFormat:@"HERE"];