Je veux accéder à une variable d'instance d'une classe, mais il ne semble pas fonctionner:acessing variables d'instance à partir d'un résultat de classe dans « L'utilisation de foo variable non déclarée »
ClassA.h:
#import <Foundation/Foundation.h>
@interface ClassA: NSObject
@property int foo;
-(int) foo;
-(void) setFoo: (int) f;
@end
ClassA.m:
#import "ClassA.h"
@implementation ClassA
{
int foo;
}
-(int) foo
{
return foo;
}
-(void) setFoo: (int) f
{
foo = f;
}
@end
CategoryA.h:
#import "ClassA.h"
@interface ClassA (CategoryA)
-(void) print;
@end
CategoryA.m:
#import "CategoryA.h"
@implementation ClassA (CategoryA)
-(void) print
{
NSLog(@"Foo: %i", foo); //Use of undeclared variable 'foo'; did you mean 'for'?
}
@end
main.m
#import <Foundation/Foundation.h>
#import "ClassA.h"
#import "CategoryA.h"
int main (int argc, const char * argv[])
{
@autoreleasepool
{
ClassA *a = [[ClassA alloc] init];
[a setFoo: 10];
[a print];
}
return 0;
}
Je suis assez nouveau à Objective-C quelque chose de si je pourrais juste avoir négligé. Je sais que je peux simplement synthétiser foo, mais il en résulte la même erreur.
Le projet peut être téléchargé ici: http://cl.ly/DL4s