如果你综合了一个自定义类,那么为它创建getter和setter吗?
这是我创建的自定义类。
// MyClass.h
#import <Foundation/Foundation.h>
@interface MyClass : NSObject <NSCoding> {
NSString *string1;
NSString *string2;
}
@property (nonatomic, retain) NSString *string1;
@property (nonatomic, retain) NSString *string2;
@end
这里我将该类的对象声明为属性
// DetailViewController.h
#import <UIKit/UIKit.h>
#import "MyClass.h"
@interface DetailViewController : UIViewController {
MyClass *myObject;
}
@property(nonatomic, retain) MyClass *myObject;
@end
这里我合成了这个对象。
#import "DetailViewController.h"
#import "MyClass.h"
@implementation DetailViewController
@synthesize myObject;
它有吸气剂和固定剂吗?
当我尝试在RootViewController.m
中运行此代码时DetailViewController.myObject = [theArray objectAtIndex:indexPath.row];
我收到错误提示“访问未知的'setMyObject:'类方法。无法设置对象 - 无论是readonly属性还是找不到setter。'
答案 0 :(得分:4)
只有将所需的实例变量声明为属性,然后synthesize propname;
才会创建getter和setter。现在,getter和setter中的代码类型取决于您定义的属性属性(nonatomic
/ atomic
,assign
,retain
,copy
)
编辑OP修订后的问题:是的,将为myObject
类
DetailViewController
实例变量创建一个getter / setter
DetailViewController.myObject = [theArray objectAtIndex:indexPath.row];
您正在尝试设置未定义的类变量。 DetailViewController
的类型为Class
,而非DetailViewController
。在DetailViewController
的实例上执行相同的操作,您应该全部设置。