I have a BOOL value inside my @interface definition in my .h file. Here it is below. It has the same problem whether it's a pointer or not.
@interface myCustomViewController : UIViewController <UIWebViewDelegate> {
{
//...more iboutlets defined above
BOOL *myBoolVariableName;
}
When I compile, I get "error: property 'myBoolVariableName' with 'retain' attribute must be of object type" on the line for the import of my .h file.
I found this page here about an integer / nsnumber:
http://discussions.apple.com/thread.jspa?threadID=1846927
So, it seems I can't use BOOL values inside an @interface definition. What can I use instead?
What should I do for BOOL / boolean values?
I have faced similar situation. I solved it like,
I refer one answer by Jon Hess but I got one error in it. Type name requires a specifier or qualifier. My previous version was like,
So I added
BOOL
and solved the issue.I'm guessing that later in your interface you have something like this:
That means make a property who's value is a pointer to a BOOL, and use retain semantics.
Your problem is that BOOL * is a pointer to a byte of memory, not a pointer to an object. And retain is something that applies only to objects.
Here's how you can make a BOOL property.
The important differences are that the variable is declared as "BOOL", not "BOOL *" and the property doesn't have (retain).