I have a class where a NSMutableArray object is formed, as so:
navBarColour = [[NSMutableArray alloc] initWithObjects:colourOfNavBar, nil];
I t
(Actually, futureelite7 & Radek S aren't strictly correct, in that you don't need @property
declaration to use dot notation. If there's a getter method called navBarColour
then the dot notation works fine for that too. But that's another issue.)
The declaration for the property navBarColour
must visible to your code containing the NSLog
. Yes, do post your header file, if you say the added @property
declaration is also failing to compile then you have something weird going on. Make sure your other class' .m is including that header, and that HandlingPalettes
's class isn't merely declared with a forward declaration say (@class Blah;
).
But also, is HandlingPalettes
a class or an instance?!? Identifiers starting with capitol letters by convention imply its a class name, so that's suspicious. If it's a class name, then that's surely not what you want.
(Regarding using dot notation without @property
, if HandlingPalettes
is indeed a class, then if you had the class method +(NSMutableArray*)navBarColour
then when it would compile.)
You must add a property to the object containing the array and synthesize it:
@property(nonatomic, retain) NSMutableArray *navBarColour;
Also, change the compiler to Clang and the error messages will be more clear, if you like.
The dot notation is used differently in objective c that from c++ or java. In objective-c it is shorthand for accessing a property. You need to have defined a objective-c property first, like this:
in the .h file (INSIDE the interface tag)
@property (nonatomic, retain) NSMutableArray *navBarColor;
in the .m file (INSIDE the implementation tag)
@synthesize navBarColor;
Only then can you access the array with the dot notation.