Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用@synthesis重写Objective-C中的属性访问器名称_Objective C - Fatal编程技术网

使用@synthesis重写Objective-C中的属性访问器名称

使用@synthesis重写Objective-C中的属性访问器名称,objective-c,Objective C,我试图找到关于如何用@synthesis覆盖Objective-C中的属性名的文档。如果我有一个实例变量名'foo',我想把它的访问器写为'bar' 做某事,例如 @synthesize foo = bar; 给出编译时错误。可以,但“bar”必须首先存在(必须是声明的变量)。从 您可以使用形式property=ivar来指示属性应使用特定实例变量,例如: 您可以在声明属性(getter=bar)时更改getter名称。我想您只是在@synthesis中反向使用了它。你想要的是: @synth

我试图找到关于如何用@synthesis覆盖Objective-C中的属性名的文档。如果我有一个实例变量名'foo',我想把它的访问器写为'bar'

做某事,例如

@synthesize foo = bar;
给出编译时错误。

可以,但“bar”必须首先存在(必须是声明的变量)。从

您可以使用形式property=ivar来指示属性应使用特定实例变量,例如:


您可以在声明属性(getter=bar)时更改getter名称。

我想您只是在@synthesis中反向使用了它。你想要的是:

@synthesize bar = foo;

在OP的例子中,正确的形式是@synthesis bar=foo;因为他说foo是他的ivar,他想用bar访问它。
@synthesize bar = foo;