Vous avez probablement besoin du type complet, c'est-à-dire @property (nonatomic) BOOL boolArray [100]; Le [100] est une information de type significatif, pas seulement une indication de la quantité d'espace à allouer.
En outre, je pense que la propriété sera traitée comme const BOOL *
qui ne peut pas être affectée, il devrait donc probablement être readonly
. La bonne chose à faire est probablement de rendre ceci en lecture seule, ce qui signifie que thins ira chercher le pointeur du tableau puis l'insérera pour assigner aux membres du tableau.
Alternativement, vous pouvez utiliser un NSArray
pour cela, mais cela nécessitera que vous utilisiez NSNumber
s avec boolVaules qui est plus d'un biotch à traiter.
MISE À JOUR
En fait, le compilateur stupide n'aime pas le [] pour une raison quelconque. Essayez ceci:
@interface TestClass : NSObject {
const BOOL *boolArray;
}
@property (nonatomic, readonly) const BOOL *boolArray;
@end
@implementation TestClass;
- (const BOOL *)boolArray {
if (!boolArray)
boolArray = malloc(sizeof(BOOL) * 100);
return boolArray;
}
- (void)dealloc {
[super dealloc];
free((void *)boolArray);
}
@end
une mise à jour
Cette compile:
@interface TestClass : NSObject {
BOOL boolArray[100];
}
@property (nonatomic, readonly) const BOOL *boolArray;
@end
@implementation TestClass;
- (const BOOL *)boolArray {
return boolArray;
}
@end
C'est une question bizarre. Je souhaite que le compilateur explique exactement à quoi il est mécontent comme "Ne peut pas déclarer la propriété avec le type de tableau" ou quelque chose.
ENCORE UN AUTRE JOUR
Voir cette question: Create an array of integers property in Objective C
Apparemment, selon la spécification C, un tableau est pas un type et les spécifications Objective-C "Plain Old Data" seulement vous permet de déclarer propriétés pour les types de POD. Soi-disant c'est le definiition de PODs:
http://www.fnal.gov/docs/working-groups/fpcltf/Pkg/ISOcxx/doc/POD.html
Mais la lecture qu'il semble comme un tableau de PODs est un POD. Donc je ne comprends pas.
Ensuite, je reçois une erreur de compilateur "Bad property declaration" – scud
C'est une erreur de compilateur pretty sucky .... Ok, voir mise à jour. – Nimrod
Très bien, je vais basculer et juste utiliser un NSArray - merci pour le conseil – scud