これを理解しようとした過去の日を費やして、解決策はおそらく単純ですが、私はそれを理解できません。基本的に私はWebView
の現在のURLを別のクラスのNSTextField
に送信しようとしています。 WebView
のURLをMyViewController
の文字列に送信すると正常に機能し、渡されていることがわかります。しかし、この文字列を私のTextField.StringValue
に割り当てると、(null)が返されます。別のクラス(Obj C)のNSTextFieldに文字列を送信するココア
答えて
代理人を使用して問題を解決しようと数日を過ごした後、私はあきらめてNSNotificationCenterに移動しました。おそらく最も効率的な方法ではありませんが、それは治療を働かせ、仕事を完璧にやります。
私はFirstWebControllerクラスからMyViewControllerクラスに現在のURLを送り、NSNotificationCenterを使用してオブジェクトを現在のURLに設定しました。 MyViewControllerクラスに入ったら、通知メソッドを呼び出してオブジェクトに自分のテキストフィールドを割り当てました。
View Controller間の関係に問題があるようです。 2つのことはどのように関係していると思われますか?
は、あなたのコード内でこの点を考えてみます。ここでは- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame{
// Getting url from WebView
NSString *newURL = [[[[frame dataSource] request] URL] absoluteString];
MyViewController *vc = [[MyViewController alloc] init];
[vc UrlSet:newURL];
}
あなたはMyViewController
のブランドの新しいインスタンスを作成し、その後、あなたはそれをURLを渡していますが、そのブランドの新しいインスタンスを使用して何かをすることはありません。ルーチンが終了すると単に削除されます。 MyViewControllerの既存のインスタンスを見つけてそのインスタンスにURLについて伝えたいのですか?それははるかに合理的なようです。
View Controller間の関係を考慮していないため、メソッドの仕組みを再考する必要があると考えてください。現在、私はMyViewController - > tabHandler - > FirstWebControllerを持っています。ここで、tabHandlerはMyViewControllerのコンテナビューにあります。明日別に行こうと思って、それを並べ替えることができるかどうか確認してください – JonnyRoberts95
- 1. クラス間のメッセージの送信Obj-C?
- 2. Obj-Cクラス間のメッセージの送信
- 3. C#ソケット送信文字列変換
- 4. C#からC++に文字列を送信するInterop
- 5. サーバーにjson文字列を送信
- 6. AJAX別のドメインにJSON文字列を送信
- 7. リストボックスに文字列を送信する(C#)
- 8. PHPの文字列をC++に送る
- 9. C#からC++への文字列を送信
- 10. 文字列の単一のオブジェクトを置換するObj-c
- 11. シリアル経由でC#から文字列を送信する
- 12. メソッドの呼び出し - ココア/ OBJの-C
- 13. C#string.split()別の文字列(大文字)
- 14. Spring統合で文字列オブジェクトを送信するときに文字列オブジェクトを送信するとき
- 15. クラス内のC++文字列
- 16. URI文字列をモデルに送信
- 17. SendMessageを介してC#からMFCに文字列を送信
- 18. publish_actionへのクエリ文字列の送信
- 19. Solidworks C#Addin - 文字列をマクロに送信
- 20. Unicode文字列をC#からSQL Server 2008 DBに送信
- 21. 文字をCの文字列から別の文字列にコピー
- 22. Obj-C文字列の整数値を返す
- 23. アクションを送信ココア - IBAction
- 24. obj-cの文字列内の行を検索
- 25. オーバーレイにBaseAdapterを拡張するクラスから文字列値を送信
- 26. クラスから別のクラスに文字列を渡す
- 27. eventArgsで2つの文字列を送信する構文
- 28. C++の文字列の値が別の文字列の名前
- 29. 別のクラスの文字列値にアクセスするには?
- 30. 別のクラス内で送信されたC#配列が0を返す
別のビューコントローラから変数を渡すことは容易ではありません。シンプルなソリューションは、シングルトンを使用して変数を送信し、別のシングルトンに渡すことです。 –