Objective-C.У меня есть typedef float DuglaType [3].Как мне объявить собственность для этого? - PullRequest
0 голосов
/ 05 марта 2010

у меня есть:

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

Как правильно объявить недвижимость?

Я пытался:

// .h  
@property DuglaType duglaType;

// .m  
@synthesize duglaType = _duglaType;

Но это извергает ошибки.

Какое секретное рукопожатие для C ++ typedefs хорошо играет со свойствами Obj-C? Спасибо.

Приветствия
Дуг

Ответы [ 2 ]

0 голосов
/ 05 марта 2010

Введите определение массива в структуру:

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


- (DuglaType) duglaType
{
    return _duglaType;
}

- (void) setDuglaType:(DuglaType) input
{
    m3dCopyMatrix44f(&_duglaType.p[0], &input.p[0]); 
}
0 голосов
/ 05 марта 2010

Моя работа заключается в том, чтобы избавиться от использования @property и реализовать setter / getters:

// .h

  • (float *) duglaType;
  • (void) setDuglaType: (DuglaType) ввод;

// .m

  • (float *) duglaType {

    return & _duglaType [0];

} * * тысяча двадцать-один

  • (void) setDuglaType: (DuglaType) input {

    m3dCopyMatrix44f (_duglaType, input);

}

Полагаю, при вводе массива в Obj-C возникают головные боли. Не беспокойся.

Приветствия
Дуг

...