2011-12-20 14 views
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の素人だ

を:)

ありがとう!

答えて

4

-initWithString:の代わりに-initWithFormat:が必要です。

+3

メソッド名は 'initWithFormat:'と 'initWithString:'です。コロンは違いの世界を作ります。 – dreamlax

+0

これはうまくいきましたが、今は "take2Damage"というメソッドがあります。それは何かに当たったときにhealthIntから2を減算するだけです。私はそれを行うメソッドを作ったし、別のクラスの[appDelegate take2Damage]を使ってそのメソッドを呼び出すが、ラベルは残っている健康の数を更新していない。そして、アプリケーションデリゲートで私はhealthInt = 100 –

関連する問題