Objective c 自定义类的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; @

如果您合成了一个自定义类,那么会为它创建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
那么它有接受者和接受者吗

当我尝试在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];