Objective c 自定义类的getter和setter
如果您合成了一个自定义类,那么会为它创建getter和setter吗 这是我创建的自定义类Objective c 自定义类的getter和setter,objective-c,cocoa-touch,class,setter,getter,Objective C,Cocoa Touch,Class,Setter,Getter,如果您合成了一个自定义类,那么会为它创建getter和setter吗 这是我创建的自定义类 // MyClass.h #import <Foundation/Foundation.h> @interface MyClass : NSObject <NSCoding> { NSString *string1; NSString *string2; } @property (nonatomic, retain) NSString *string1; @
// 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
那么它有接受者和接受者吗
当我尝试在RootViewController.m中运行此代码时
DetailViewController.myObject = [theArray objectAtIndex:indexPath.row];
我听到一个错误说正在访问未知的“setMyObject:”类方法。无法设置对象-找不到只读属性或setter。“仅当您将所需的实例变量声明为属性时,然后
propname代码>,将创建getter和setter。现在,进入getter和setter的代码类型取决于您定义的属性属性(非原子的
/原子的
,分配
,保留
,复制
)
编辑OP的修订问题:是,将为DetailViewController
类的myObject
实例变量创建一个getter/setter
DetailViewController.myObject=[theArray objectAtIndex:indexPath.row]代码>
您正试图设置未定义的类变量DetailViewController
属于Class
类型,而不是DetailViewController
。对DetailViewController
的实例执行相同的操作,您应该已全部设置。仅当您将所需的实例变量声明为属性时,然后合成propname代码>,将创建getter和setter。现在,进入getter和setter的代码类型取决于您定义的属性属性(非原子的
/原子的
,分配
,保留
,复制
)
编辑OP的修订问题:是,将为DetailViewController
类的myObject
实例变量创建一个getter/setter
DetailViewController.myObject=[theArray objectAtIndex:indexPath.row]代码>
您正试图设置未定义的类变量DetailViewController
属于Class
类型,而不是DetailViewController
。在DetailViewController
的实例上执行相同的操作,您应该都已设置好
#import "DetailViewController.h"
#import "MyClass.h"
@implementation DetailViewController
@synthesize myObject;
DetailViewController.myObject = [theArray objectAtIndex:indexPath.row];