私はint "healthInt"から2を減算するという方法があります。その後、私は単に "healthInt"を表示する "healthString"と呼ばれるNSStringを持っています。だから私はこのメソッド "take2Damage"でやってみたいのは、 "healthInt"から2を引いたものです。 「healthLabel」というUILabelをhealthStringに設定します。問題は、healthLabelが別のクラスに配置されていることです。ここにいくつかのコードがあります。以前の質問:Appellegateから別のクラスのUILabelにアクセスする
Appdelegate.m
-(void)take2Damage{
healthInt = healthInt - 2;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
healthInt = 100;
healthString = [[NSString alloc]initWithFormat:@"%d", healthInt];
LevelOneViewController.m
IBOutlet UILabel * healthLabel;
最後の人は私が何を意味していたか分からなかったので、私は明確にしたいと思った。他のクラスからUILabelにアクセスするためにtake2Damageに入れることができるコードが必要です。それが可能でない場合、私は別のファイルからのhealthInt変数にアクセスするコードを希望します。うまくいけば、これは感謝します。
答えた「最後の人」として私は2番目のRobの提案をしますが、ポスターがオブジェクト指向設計に精通していないと思われます。また、AppDelegateに保存したグローバル変数にアクセスするには、 '(MyAppDelegate *)[[[UIApplication sharedApplication] delegate] healthString] 'を呼び出します。変数にアクセスしているクラスからこれを使用します。それははるかに明確になることはできません。しかし、あなたが何かを学びたいなら、私はRobのアドバイスを受けて、CCCとMVCのドキュメントを調べます。 –