Короткий ответ: float
или double
.
. Представление frame
имеет тип CGRect
.
struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
origin
значение представляет собой CGPoint
, которое содержит два значения CGFloat
.
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
И, наконец, каждый компонент CGPoint
представляет собой CGFloat
, то есть float
или double
в зависимости от того, 32-битное или 64-битное приложение.
typedef float CGFloat; // 32-bit
typedef double CGFloat; // 64-bit
Если вам нужно сохранить исходный объект или весь кадр в объекте, вы можете использовать NSValue
.
NSValue *originValue = [NSValue valueWithCGPoint:button01.frame.origin];
NSValue *frameValue = [NSValue valueWithCGRect:button01.frame];
Или, для хранения одного CGFloat
компонента, вы можете использовать NSNumber
.
NSNumber *xValue = [NSNumber numberWithFloat:button01.frame.origin.x];