2010-03-05 2 views
0

J'ai:Objectif-C. J'ai typedef float DuglaType [3]. Comment puis-je déclarer la propriété pour cela?

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

Comment déclarer correctement la propriété?

J'ai essayé:

// .h 
@property DuglaType duglaType; 

// .m 
@synthesize duglaType = _duglaType; 

Mais cette erreur SPEWS.

Quelle est la poignée de main secrète pour que les typedefs C++ jouent bien avec les propriétés Obj-C? Merci.

Cheers,
Doug

+2

Le problème est que vous ne pouvez pas retourner un tableau à partir d'une méthode. – dreamlax

+0

Yah, j'ai finalement réalisé cela. Merci. – dugla

Répondre

0

Mon travail est autour de caution sur l'utilisation @property et mettre en œuvre setter/getter:

// .h

  • (float *) duglaType;
  • (void) setDuglaType: entrée (DuglaType);

// .m

  • (float *) duglaType {

    retour & _duglaType [0];

}

  • (void) setDuglaType: (DuglaType) {entrée

    m3dCopyMatrix44f (_duglaType, entrée);

}

Je suppose que typdef-ing un tableau donnent des maux de tête Obj-C. Pas de soucis.

Cheers,
Doug

0

Typedef le tableau dans une struct:

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


- (DuglaType) duglaType 
{ 
    return _duglaType; 
} 

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