У меня есть и NSString, называемое «работоспособность», и у меня есть int, называемый «healthInt». Я делаю это в своих Appdelegates, потому что другим файлам необходимо получить к нему доступ. То, что я хочу сделать, - присвоить NSString «здоровье» значение «healthInt». Таким образом, в другом классе я могу установить метку на «здоровье» NSString и на ней будет отображаться «healthInt». Вот код, извините, что код не вставлен правильно.Отображение переменных int в NSString с [[NSString alloc] initWithString
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»
Я любитель объективные с так пытаюсь объяснить это просто :)
Спасибо!
Имена методов: 'initWithFormat:' и 'initWithString:'. Двоеточие делает мир различием. – dreamlax
Это сработало, но теперь у меня есть метод «take2Damage». Это просто вычитает 2 из healthInt, когда он что-то наносит. Я сделал метод, который делает это, и я вызываю этот метод в другом классе, используя [appDelegate take2Damage], но метка не обновляет количество оставшихся здоровья. И у делегата приложения у меня есть healthInt = 100 –