2010-12-04 2 views
1

Я пытаюсь написать «привет мир» для iPhone 4. Поскольку это моя первая попытка разработки iPhone-приложений и мой первый опыт работы с Objective C, пожалуйста, не стесняйтесь предполагать, что вам нужно научить меня тому, как сосать яйца на этом.Добавление и изменение ярлыков на iPhone? (IOS4 +)

В качестве моего основания я начал с учебника http://appsamuck.com/day1.html, но он настолько устарел, что я никуда не пойду, пока не деконструкцию шагов.

На данный момент я смотрю ту часть, где он рассказывает вам, как добавить ярлык на дисплей. И добавить ссылку на ярлык.

К сожалению, он просто не подходит друг к другу надлежащим образом.

По сути, то, что я хотел бы имитатор делать, когда я запустить «Собрал и Run» кнопка не является для «MyLabel» изменить следующим образом: «ЗДЕСЬ»

Когда это все работает, не существует ошибки, но cdLabel.text не меняется, чтобы читать «ЗДЕСЬ».

У меня есть фотография базовой настройки графического интерфейса - и вы можете отправить любую другую необходимую информацию.

ViewController.h гласит:

@interface MinutesToMidnightViewController : UIViewController { 
    IBOutlet UILabel *cdLabel; 
} 
-(void)updateLabel; 

ViewController.m имеет следующие функции в ней:

-(void)updateLabel { 
    cdLabel.text = [NSString: "HERE"]; 
} 

Наконец - есть фотография, как я настроить GUI биты в конструкторе интерфейса :

Если есть кто-нибудь, кто может подключить точку на этом последнем бит, я был бы так благодарен! (Также будут высоко оценены инструкции к учебникам начинающих IOS4 или APPS с открытым исходным кодом :)

Спасибо! -

UPDATE: В ответ на вопрос о том, когда я называю updateLabel

У меня есть функция

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    [viewController updateLabel]; 
} 

построен в мой MinutesToMidnightAppDelegate.m файл

+1

Когда вы вызываете updateLabel? – VdesmedT 2010-12-04 19:15:48

ответ

1

Синтезировать cdLabel в вашем .m и установить ваш label.text в viewDidLoad. Кроме того, [NSString: «Здесь»] не будет работать. Просто используйте cdLabel.text = @"HERE"; (Что такое же: cdLabel.text = [NSString stringWithFormat:@"HERE"];

+0

Это сработало! спасибо. Теперь на следующем этапе головоломки - как писать и вызывать функцию в структуре IOS. – 2010-12-04 20:54:15

1

Хорошо написано вопрос (+1 для этого)

Я удивлен, что эта линия составляет:

cdLabel.text = [NSString: "HERE"]; 

попробовать это:

cdLabel.text = @"HERE"; // this is how you write a literal NSString 

, если это не сработает, поставить точку останова на этой линии и убедитесь, что cdLabel не равна нулю. Если он равен нулю, вернитесь назад и дважды проверьте свое соединение в IB. Трудно видеть, что разрешение вы отправили, но он выглядит нормально, если я прищурился.:)

Также, где называется updateLabel?

EDIT

applicationDidFinishLaunching: вызывается перед вид вашего ViewController является обычно загружен. Фактически, этот метод обычно представляет представление первого viewController.

В любом случае, вы должны настроить свой вид в - [UIViewController viewDidLoad], который вызывается после загрузки, что вид (как вы, наверное, догадались из названия)

или - [UIViewController viewWillAppear], если вы хотите сделать это каждый раз, когда появится представление.

+0

Спасибо за ответ. Я исправил вызов строкового литерала. Я обновил выше информацию о том, как я 'm пытается вызвать функцию updateLabel. – 2010-12-04 20:40:37

Смежные вопросы