Невозможно установить текст в NSTextView - PullRequest
3 голосов
/ 21 января 2010

:: Edit :: Это работает сейчас? хаха, может быть, я просто не сохранил свой последний IB ... кто, черт возьми, знает. Спасибо!

Привет,

Я впервые играю с настольными приложениями (у меня есть опыт работы с приложениями для iphone), и я застрял - мое текстовое представление не обновится, чтобы показать любой текст:

.m:
@synthesize textView;

    NSString *txt = [[[NSString alloc] initWithData:responseData encoding: NSASCIIStringEncoding] autorelease];
    NSLog(@"txt = %@", txt);
    [textView setString:txt];

.h:
    IBOutlet NSTextView *textView;
}
@property(nonatomic, retain) IBOutlet NSTextView *textView;

И IB говорит textView -> Text View, так что все выглядит хорошо:

  • NSLog выше выводит содержимое ресурса url, который я извлекаю

Итак, что мне не хватает?

Ответы [ 4 ]

3 голосов
/ 21 января 2010

Где этот setString код вызывается? Возможно, выпуск IB еще не создан. Вы можете проверить это с помощью простого

if (textView) {
    NSLog(@"textView is not nil);
} else {
    NSLog(@"textView is nil");
}

Чтобы быть уверенным, что все настроено, когда вы вызываете это, убедитесь, что это происходит после вызова awakeFromNib в любых объектах, созданных через IB.

См. NSNibAwaking Protocal

3 голосов
/ 21 января 2010

Дважды проверьте, выполнены ли розетки в IB. Это, вероятно, причина (textView, вероятно, nil здесь).

1 голос
/ 21 января 2010

Можете ли вы дважды проверить свойства NSTextView, такие как isEditable, textColor и т. Д., Чтобы убедиться, что ни одно из них не установлено неправильно.

Кроме того, код выглядит хорошо.

0 голосов
/ 21 января 2010

Я переподключил все в IB, сохранил, перестроил и все заработало ... = [

...