アプリケーションの起動が完了したときに、私のAppDelegateからUITextViewを設定しようとしました。 実際には、ファイルを開いてその内容をUITextViewに渡したいだけです。私AppDelegateでは、次のAppDelegateからUIを変更する
ViewController.h:
@interface
{
IBOutlet UITextView *textView;
}
- (void)openFile:(NSString *)myString;
ViewController.m:
- (void)openFile:(NSString *)myString
{
textView.text = myString;
}
:
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からメソッドを呼び出した後にビューが読み込まれる可能性があると考えました。 私はいくつかのNSLogを追加して、ビューが完全に読み込まれたことが判明したので、AppDelegateがメソッドを呼び出します。
AppDelegateは、ビューが完全にロードされ、Stringを渡した後に[test openFile:(NSString *)]
を呼び出します。しかし、私のtextViewの価値はまだ変化していません。
これに関するご提案はありますか? あなたの誰かが同じ問題に遭遇しましたか?
コンセントがNIBに接続されていることを再度確認しましたか? – pe8ter
はい、しました。しかし、この必要性のためにNIBで何を結ぶべきですか?私がアプリケーションでそれをしたいので、起動を完了しました。でも気にしないで。私はこの問題を解決しました。ありがとう –
タイトルにタグを付けたり、そのような投稿に署名したりしないでください –