0
私はNSStringと "health"を持っていて、 "healthInt"というintを持っています。私はAppdelegatesでこれをやっています。私がしたいのは、NSStringの "health"に "healthInt"の値を割り当てることです。そのようにして別のクラスでは、NSStringの "health"にラベルを設定し、そのラベルに "healthInt"を表示させることができます。コードが正しく貼り付けられていないことを申し訳ありません。[NSString alloc] initWithStringを使ってNSStringにint変数を表示
Appdelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate>{
NSString * health;
int healthInt;
}
-(void)take2Damage;
-(void)tellHealth;
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) ViewController *viewController;
@property (nonatomic, retain) NSString * health;
@end
Appdelegate.m
@synthesize health;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
health = [[NSString alloc]initWithString:@"%d", healthInt];
しかし、これを行うことは私にエラー与え、「メソッド呼び出しの引数が多すぎますが、1を予想2を持っている」私は単にそれを説明しようとObjective Cの素人だ
を:)
をありがとう!
メソッド名は 'initWithFormat:'と 'initWithString:'です。コロンは違いの世界を作ります。 – dreamlax
これはうまくいきましたが、今は "take2Damage"というメソッドがあります。それは何かに当たったときにhealthIntから2を減算するだけです。私はそれを行うメソッドを作ったし、別のクラスの[appDelegate take2Damage]を使ってそのメソッドを呼び出すが、ラベルは残っている健康の数を更新していない。そして、アプリケーションデリゲートで私はhealthInt = 100 –