学習段階の特定の時期に、iOS でアプリ全体の任意のクラスからアクセスできる「グローバル」変数の概念を実装するのに苦労したことを覚えています。Matt Gallowayによるこのような多くの優れたチュートリアルを読みました。
最終的に実装したコードを実行したところ、これらのチュートリアルとは非常に異なる方法で実行したことに気付きました。採用した方法の考えられる欠点/利点を知りたかった
私のhファイルは次のようなものでした:
@interface GlobalVariables : NSObject
+(void)setUsername:(NSString *)string;
+(NSString *)getUsername;
@end
そして私のmファイルは:
static NSString *name;
@implementation GlobalVariables
+(void)setUsername:(NSString *)string{
name = string;
}
+(NSString *)getUsername{
return name;
}
@end
次のような他のクラスでグローバル変数を設定します
[GlobalVariables setUsername:@"user1"];
そして他のクラスでそれを取得します
self.nameLabel.text = [GlobalVariables getUsername];
私がしたことについて何か間違っている/正しいことはありますか? 正しい方向へのコメントは大歓迎です。ありがとうございました :)