1

この質問が本当に古いことは知っていますが、別のクラスから NSString にアクセスするのに苦労しています。

私がFirstViewControllerandを持っていてSecondViewController、そこから- にある -Secondという NSString にアクセスしたいとしましょう(わかりました、それは明らかです)。のコードは次のとおりです。stringFirstViewControllerSecondViewController

FirstViewController *viewController = [[FirstViewController alloc] init];
NSLog(@"%@", viewController.string);

しかし、メソッド(null)から値を取得しているため、結果は です。init

string宣言されている任意の場所からアクセスするためのヒント/解決策はありますか?

ありがとう!

4

2 に答える 2

1

私があなたがしていると思うことをしているなら、initブロックで何らかの値に初期化されていない限り、nul値を返すFirstViewController2番目のView Controller内の新しいバージョンを作成しています。FirstViewController.string

あなたが望むと思うのは、既に作成された からアイテムにアクセスして、文字列の値を取得することですFirstViewController。これを行うにはさまざまな方法があります (SecondViewController最初からプッシュする方法と、ストーリーボードを使用しているかどうかによって異なります。

于 2012-08-05T23:05:57.593 に答える
0

グローバル変数はおそらくあなたの答えです。タブ バー コントローラーを使用していない限り、別のクラスからデータを "プル" することはできません。ViewController1 から ViewController2 に値をプッシュすることは可能ですが、それをプルするには、グローバル変数が多くの頭痛の種から解放されると思います。

于 2012-08-06T04:25:38.067 に答える