このxibを呼び出すコードがobjective-cで既に作成されたプロジェクトから実行されたswiftでコード化された新しいxibを作成しました。 swiftファイルから以前のobjective-cビューに文字列を渡すことが必要です。私はNSUserDafaultsで試したことがありますが、実際の運がないので、グローバル変数を作成して新しいコードを設定すると思っていましたが、問題はobj-cに慣れていないということです。これを達成するために私を手伝ってもらえますか?私は素早いコードを持っていて、文字列をobjective-cクラスに返すようにしたい
-1
A
答えて
0
Objective-Cクラスでプロパティを割り当てて、それをあなたの素早いクラスに割り当てる方法は次のとおりです。あなたの迅速なクラスで次に
@property (nonatomic, strong) NSString *myString;
、あなたのようなビューコントローラを提示する前に文字列を代入:.hファイル内(この例ではmyObjClassという名前の)あなたのOBJ-Cクラスで
NSStringのプロパティを宣言この:
let myObjClass = self.storyboard?.instantiateViewControllerWithIdentifier("myObjClass") as? MyObjClass
// set its property
myObjClass.myString = "I am passing a string from Swift to Obj-C!"
self.navigationController?.pushViewController(myObjClass!, animated: true)
だからあなたmyObjClass viewDidLoadメソッドでこれを呼び出すことができますし、それはあなたの文字列を印刷する必要があります:
-(void) viewDidLoad {
NSLog(@"My String: %@",self.myString);
}
+0
さて、私はそれが、アクションを実行し、値を期待しているカスタムセルであるので、Obj-cクラスにはviewDidLoadメソッドがありません。 viewDidLoadに相当するものはありますか? –
+1
あなたはobj-cクラスの任意の場所でそのプロパティにアクセスできます.... –
関連する問題
- 1. は、どのように私は、文字列は、私はこのような文字列を持っている
- 2. 私はこのような文字列を持っている
- 3. 私はこのような文字列を持っている
- 4. は、暗黙のうちに私は、コードを持っている文字列
- 5. は、私は、次のコードを持っている文字列
- 6. は、私はこのコードを持っている文字列
- 7. デルファイコピー・オン・ライト私はこのようなコードを持っている文字列
- 8. どのように私はのような文字列を持っている
- 9. 建物のクラス名は、私はこのような文字列の配列を持っている文字列
- 10. は、私は、文字列を持っているPython文字列
- 11. 私は次のコードを持っている文字列
- 12. 私は次のコードを持っている文字列
- 13. ように私は、HTML文字列(いないDOM要素)を持っているバックDOM
- 14. 私は次の文字列を持っている文字列
- 15. 素早い文字列を配列に変換するには?
- 16. 私のタイプは、私はとしてクラス持っている文字列
- 17. JavaScriptが私はこのような文字列を持っている文字
- 18. は、次のように私はクラスを持っているクラス
- 19. 私はJSON文字列を持っていると私はこのようになりますJSON文字列を持っている
- 20. アクセス異なる要素は、私は、配列の文字列を返すWebメソッドを持っていたWebMethod
- 21. は私のような文字列の配列を持って正しい
- 22. ジャワ、句読点記号、プロセス文字列によって分割文字列は、私はこのような文字列を持っている文字列
- 23. は、キーの文字列で、私は、インデクサプロパティを持つクラスを持っている
- 24. どのように私は、文字列のラインを持っている
- 25. オラクル - 私は以下のようにサンプル文字列を持っている
- 26. どのように私はこの文字列を持っているJavaScriptの
- 27. グルーヴィー - 次のように私はタイムスタンプ文字列を持っている
- 28. は私がのようにコードを持っているコード
- 29. 私は以下のように私の文字列内のURLを持っているドメイン名の文字列
- 30. 私たちは、次のようなJSON文字列を持っているGSON
NSUserDefaultsは文字列を共有するために機能しますが、対話的に取得したいUIViewController上に文字列プロパティを作成し、そのNSStringプロパティを素早く表示する際に初期化する必要がありますが、NSUserDefaultsへのリンクはswiftはあなたの問題を解決するのに役立ちますhttp://stackoverflow.com/a/25421987/3543861 –
私の理解のために:SwiftコードからObjective-Cコードへの値渡しは本当に 'NSUserDefaults'を使って行いたいですか? –
はい、私はそれは簡単だと思っていましたが、なぜそれがないのですか?@MSU_Bulldogなぜ文字列のプロパティなどを作るのですか? –