2009-08-25 1 views
0

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

приложение delegate.h

@interface { 
    NSInteger accumulatedTime; 
} 

@property (nonatomic) NSInteger accumulatedTime; 

@end 

приложение delegate.m

@implementation 

@synthesize accumulatedTime; 

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

@interface { 
    int secs2; 
} 

вид controller.m

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

secs2 = mainDelegate.accumulatedTime ; 

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

ответ

0

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

NSNumber *accumulatedTime; 
CGFloat secs2 = [mainDelegate.accumulatedTime floatValue]; 
+0

спасибо. Итак, я использую NSNUmber * накопленное время в приложении delegate.h До сих пор я использую свойство и синтезирую? Должно ли свойство быть (неатомным, сохранить) или просто (неатомным), как в случае с NSInteger? Я просто использую CGFloat как: CGFloat secs2 = [mainDelegate.accumulatedTime floatValue]; и [mainDelegate.accumulatedTime floatValue] = CGFloat secs2 и float secs2; объявить или CGFloat secs2; Извините, я настолько толстый, я буду читать документы на яблоке на CGFloat, но думал, что это не помешает спросить. – 2009-08-25 22:00:34

1

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

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

+0

Еще раз спасибо за помощь, я сделаю некоторое чтение на NSNumber и NSTimeInterval. PS. Лучший ответ и ответ, которые я получил, намного лучше, чем форумы idev. – 2009-08-25 22:32:56

0

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

Смежные вопросы