Добавлять и менять ярлыки на iPhone? (IOS4 +) - PullRequest
1 голос
/ 04 декабря 2010

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

В качестве основы я начал с учебника http://appsamuck.com/day1.html - но он настолько устарел, что я ничего не получу, пока не разберу шаги.

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

К сожалению, этопросто кажется, что они плохо сочетаются друг с другом.

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

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

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

ViewController.h читает:

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

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

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

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

Ответы [ 2 ]

1 голос
/ 04 декабря 2010

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

1 голос
/ 04 декабря 2010

Хорошо написанный вопрос (+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], если вы хотите делать это каждый раз, когда появляется представление.

...