Передать поплавок и из делегата приложения в iphone dev - PullRequest
0 голосов
/ 26 августа 2009

Я работаю над приложением для iphone с несколькими контроллерами представления. В настоящее время я могу передать значение int делегату приложения и из него следующим образом (вместо этого я хочу использовать float !, но не знаю как):

приложение делегат.ч

@interface { 
    NSInteger accumulatedTime;
}

@property (nonatomic) NSInteger accumulatedTime;

@end

приложение делегат.m

@implementation

@synthesize accumulatedTime;

тогда, на мой взгляд, controller.h

@interface {
    int secs2;
}

view controller.m

BetaTeam1AppDelegate *mainDelegate = (BetaTeam1AppDelegate *)[[UIApplication sharedApplication] delegate];

secs2 = mainDelegate.accumulatedTime ;  

Я хочу использовать вместо этого float. Достаточно просто изменить int на float в контроллерах представления .h и .m, но как кодировать в делегате приложения?

Ответы [ 3 ]

1 голос
/ 26 августа 2009

Просто измените тип accumulatedTime на float. float и int не отличаются здесь; оба являются просто типами C, и свойства могут возвращать типы C.

Тем не менее, вы, вероятно, должны сделать accumulatedTime типа NSTimeInterval, поскольку это будет больше соответствовать процедурам времени Какао. NSTimeInterval обычно реализуется как double.

0 голосов
/ 26 августа 2009

Рассмотрите возможность размещения этой глобальной информации в другом месте, например, в объекте модели в теме MVC. Даже если это Синглтон, это лучший дизайн, чем заполнение вашего делегата приложения следующим образом.

0 голосов
/ 26 августа 2009

NSNumber может инкапсулировать CGFloat.

NSNumber *accumulatedTime;
CGFloat secs2 = [mainDelegate.accumulatedTime floatValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...