错误:访问未知的getter方法?

Kri*_*son 0 cocoa-touch objective-c

错误:访问未知的getter方法?

谢谢...

#import <Foundation/Foundation.h>


@interface puppy : NSObject {
    int mack;
    int jack;
}
-(puppy *) waldo: (puppy *) f;
-(void) setMack: (int) m;
-(void) setJack: (int) j;
@end

///////////////////////////////////////////////////

#import "puppy.h"


@implementation puppy
-(void) setJack: (int) j{
    jack = j;
}

-(void) setMack: (int) m{
    mack = m;
}



-(puppy*) waldo: (puppy *) f{   

    return (f.jack + f.mack); // Error: <-- Accessing unknown "jack" getter method
                              // Error: <-- Accessing unknown "mack" getter method
}
Run Code Online (Sandbox Code Playgroud)

tas*_*oor 5

你还没有为jack和指定getter方法mack.您可以使用属性来代替编写自己的getter/setter.

@interface puppy : NSObject {
    int mack;
    int jack;
}
-(puppy *) waldo: (puppy *) f;

// use property
@property (nonatomic, assign) int mack;
@property (nonatomic, assign) int jack;
@end

@implementation puppy

@synthesize jack, mack;

-(puppy*) waldo: (puppy *) f{   
    return (f.jack + f.mack);
}

@end
Run Code Online (Sandbox Code Playgroud)

您现在不需要这些设置方法.吸气剂和二传手都是为你合成的.在问题中没有问到,你应该int从方法中回来waldo.