Chyba: Vlastnost ‚myBoolVariableName‘ s ‚zachovat‘ atribut musí být typu objektu

hlasů
12

Mám hodnotu BOOL uvnitř mé definice @interface v mém h souboru. Tady to je níže. To má stejný problém, ať už je to ukazatel, nebo ne.

@interface myCustomViewController : UIViewController <UIWebViewDelegate> {
{
 //...more iboutlets defined above
 BOOL *myBoolVariableName;
}

Když jsem se sestavit, dostanu „CHYBA: vlastnictví‚myBoolVariableName‘s‚zachovat‘atribut musí být typu objektu“ na trati pro dovoz mého h souboru.

Našel jsem tuto stránku zde o celočíselnou / nsnumber:

http://discussions.apple.com/thread.jspa?threadID=1846927

Takže se zdá, nemohu použít hodnoty BOOL uvnitř definice @interface. Co mohu použít místo?

Co mám udělat pro hodnoty / boolean BOOL?

Položena 27/08/2009 v 01:21
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
33

Hádám, že později v rozhraní máte něco takového:

@property (retain) BOOL *myBoolVariableName;

To znamená, aby se majetek, kdo je hodnota je ukazatel na BOOL a používat zachovat sémantiku.

Váš problém je, že BOOL * je ukazatel na byte paměti, ne ukazatel na objekt. A udržet je něco, co se vztahuje pouze na objekty.

Zde je návod, jak si můžete vytvořit vlastnost BOOL.

@interface myCustomViewController : UIViewController <UIWebViewDelegate> {
    BOOL myBoolVariableName;
}

@property myBoolVariableName;

@end

Mezi významné rozdíly jsou, že proměnná je deklarován jako „BOOL“, ne „BOOL *“ a vlastnost nemá (ponechat).

Odpovězeno 27/08/2009 v 01:30
zdroj uživatelem

hlasů
1

I čelí podobné situaci. Vyřešil jsem to jako,

@interface myCustomViewController : UIViewController {
BOOL myBoolVariableName;
}
@property BOOL myBoolVariableName;
@end

Mám na mysli jednu odpověď Jon Hess, ale mám jednu chybu v tom. Název typu vyžaduje specifikátor nebo kvalifikaci. Moje předchozí verze byla podobně,

@property myBoolVariableName;

Tak jsem přidal BOOLa vyřešit problém.

Odpovězeno 30/04/2013 v 12:46
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more