この質問が何十億回も聞かれていることは知っていますが、私の特定の質問には答えがありません。重複して申し訳ありません。
だから私は extern 変数を宣言して定義する方法を知っています (私が間違っている場合は修正してください):
foo.h ファイル内:
extern NSString *foo;
foo.m ファイル内:
NSString *foo = @"fooey";
しかし、hoo.m ファイルの変数にアクセス/変更したいとします。どうすればいいですか?
この質問が何十億回も聞かれていることは知っていますが、私の特定の質問には答えがありません。重複して申し訳ありません。
だから私は extern 変数を宣言して定義する方法を知っています (私が間違っている場合は修正してください):
foo.h ファイル内:
extern NSString *foo;
foo.m ファイル内:
NSString *foo = @"fooey";
しかし、hoo.m ファイルの変数にアクセス/変更したいとします。どうすればいいですか?
.h で
@interface SOViewController : UIViewController{
NSString * variable;
}
.m では、どこにでも設定できます。
たとえば、viewDidLoad です。
宣言を入れることで、.m ファイルでこれを宣言することもできます。
@interface SOViewController(){
NSString * variable;
}
// @property (strong, nonatomic) NSString * myString; might be appropriate here instead
@end
@実装前。
理想的には、これはオブジェクト指向プログラミングであるため、ベスト プラクティスは文字列をクラスのプロパティにすることです。
extern キーワードを本当に設定している場合は、これを使用する方法に関するスタックオーバーフローの投稿をご覧ください。Objective C - extern 変数の使用方法?
編集
問題は、変数をどのように渡すかということになりました。この記事How to pass prepareForSegue: an objectを見て、セグイングでそれを行う方法の例を確認できます。