Objective-C的。我有typedef float DuglaType [3]。我如何申报这个属性?

时间:2010-03-05 01:33:00

标签: objective-c properties typedef

我有:

typedef float DuglaType[3];
   @interface Foo : NSObject {  
   DuglaType _duglaType;  
}

如何正确声明属性?

我试过了:

// .h  
@property DuglaType duglaType;

// .m  
@synthesize duglaType = _duglaType;

但这会引发错误。

C ++ typedef与Obj-C属性配合使用的秘密握手是什么?感谢。

干杯,
道格

2 个答案:

答案 0 :(得分:0)

我的工作是保释使用@property并实现setter / getters:

// .h

  • (float *)duglaType;
  • (void)setDuglaType:(DuglaType)输入;

// .m

  • (float *)duglaType {

    return& _duglaType [0];

}

  • (void)setDuglaType:(DuglaType)input {

    m3dCopyMatrix44f(_duglaType,input);

}

我想说明一个数组会给Obj-C带来麻烦。不用担心。

干杯,
道格

答案 1 :(得分:0)

将数组定义为结构:

typedef struct
{
    float p[3];
} DuglaType;


- (DuglaType) duglaType
{
    return _duglaType;
}

- (void) setDuglaType:(DuglaType) input
{
    m3dCopyMatrix44f(&_duglaType.p[0], &input.p[0]); 
}