Очень простое приложение для iPhone вылетает на UILabel settext - PullRequest
0 голосов
/ 04 января 2011

У меня очень простое приложение.У меня есть кнопка и метка в IB.У меня есть IBAction для onClick, который вызывает setText на этикетке.Есть выход для лейбла.Все связано в IB.Вылетает приложение в первый раз в симуляторе.Когда я запускаю его снова, он устанавливает текст.Затем снова вылетает в следующий раз.Это всегда вылетает на реальном устройстве.Это должно быть просто, но я не уверен, что я делаю неправильно.

Спасибо.

в моем файле .h:

#import <UIKit/UIKit.h>

@interface UntitledViewController : UIViewController {
IBOutlet UILabel *label;
IBOutlet UIButton *button;
}

@property (nonatomic, retain) UILabel *label;

-(IBAction) onClick1: (id) sender;

@end

и в.m:

- (IBAction) onClick1: (id) sender
{
    //[label setText:@"Hello World!"];
    label.text = @"Hello World!";
    //[button setTitle:@"Clicked" forState:UIControlStateNormal];
}

Извините, я новичок на сайте.Как получить журнал сбоев и стек?Спасибо.

Ответы [ 2 ]

1 голос
/ 18 сентября 2011

Дважды проверьте, что вы установили соединение для метки в IB.
Поместите точку останова в отладчике на строку label.text = @ "Hello World!";
И убедитесь, что метка здесь не равна нулю.
Если этоноль вы не установили соединение в IB для этого.

1 голос
/ 04 января 2011

РЕДАКТИРОВАТЬ: Хотя этот ответ технически правильный, он не отвечает на вопрос вообще :( Извините


<предупреждение - это предположение>

Если вы 'Получая сбой установки текста метки, он говорит мне, что вы установили значение для метки в прошлом, но оно не было сохранено правильно.

Я предполагаю, что у вас есть такой код:

label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)] autorelease];

, когда у вас должен быть код, такой как

// Option 1
self.label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)] autorelease];

или

// Option 2
label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)];

(первый использует свойство для сохранения для метки. Второй не выполняет его автоматический выпуск. Первый рекомендуемый способ)

...