Я пытаюсь установить UITextView из моего AppDelegate, когда приложение завершило запуск.
На самом деле я просто хочу открыть файл и передать его содержимое в UITextView.
В моем ViewController я добавил следующий метод:
ViewController.h:
@interface
{
IBOutlet UITextView *textView;
}
- (void)openFile:(NSString *)myString;
ViewController.m:
- (void)openFile:(NSString *)myString
{
textView.text = myString;
}
В моем AppDelegate следующее:
AppDelegate.m:
#import "ViewController.h"
@implementation AppDelegate
- (BOOL)application: [...] didFinishLaunchingWithOptions: [...]
{
ViewController *test = [[ViewController alloc] init];
[test openFile:@"this is a test"];
}
Когда я пытаюсь вызвать метод из моего AppDelegate, он фактически вызывается и передает строку, как и ожидалось.
Я тестировал через NSLog(@"%@", myString);
.
Но значение textView
не меняется.
Сначала я подумал, что может быть другая проблема, поэтому я вызвал метод с помощью UIButton после загрузки представления и т. Д. Но все было в порядке, и textView изменилось.
Тогда я подумал, что представление может быть загружено после вызова моего метода из AppDelegate.
Я добавил еще несколько NSLogs, и оказалось, что представление полностью загружено, затем мой AppDelegate вызывает метод.
Итак, AppDelegate вызывает [test openFile:(NSString *)]
после того, как представление полностью загружено и передает строку. Но значение моего textView по-прежнему не меняется.
Есть предложения по этому поводу?
Кто-нибудь из вас сталкивался с такой же проблемой?