Ios 为什么可以';我是否在CDTVC中为私有UIRefreshControl属性创建一个Getter?

Ios 为什么可以';我是否在CDTVC中为私有UIRefreshControl属性创建一个Getter?,ios,objective-c,uikit,uirefreshcontrol,Ios,Objective C,Uikit,Uirefreshcontrol,我能够为公共刷新控件创建一个getter 但是,当我对私有刷新控件尝试相同的方法时,它不起作用 e、 g 我能够为公共刷新控件创建一个getter 但是当我对私有刷新控件尝试同样的方法时。i、 e - (UIRefreshControl*)myPrivateRefreshControl{ if(!_myPrivateRefreshControl) { _myPrivateRefreshControl = [[UIRefreshControl alloc] init]; } return

我能够为公共刷新控件创建一个getter

但是,当我对私有刷新控件尝试相同的方法时,它不起作用

e、 g

我能够为公共刷新控件创建一个getter

但是当我对私有刷新控件尝试同样的方法时。i、 e

- (UIRefreshControl*)myPrivateRefreshControl{

 if(!_myPrivateRefreshControl) {

_myPrivateRefreshControl = [[UIRefreshControl alloc] init];
 }
 return _myPrivateRefreshControl;
}

@end
Xcode无法找到实例变量_myPrivateRefreshControl

它给出了错误

“使用未声明的标识符'\u myPrivateRefreshControl'”


你知道为什么会这样吗?

我发现有两件事可能会引起问题。首先,您将
@property
拼错为“@propery”。然而,我怀疑这只是你问题中的一个o型,因为编译器会在你的实际代码中警告你这一点


其次,您的
@接口
声明似乎都在创建未命名的类别,而不是类。这可能会导致编译器忽略/误解您的第二个声明。尝试删除标题中类声明之后的
()

在.m文件中,您有“@propery”,缺少“t”。这是一个拼写错误吗?谢谢@Mike,这只是一个拼写错误。使用该代码对我来说很好…你也重写了setter吗?如果您同时覆盖属性的getter和setter,Xcode将给出该错误。谢谢Brandon。没有。我知道其中一个,谢谢,两个都要合成。谢谢安德鲁,它们实际上都是打字错误。问题仍在发生。理论上,您的代码在我看来是正确的。你有没有仔细检查过其他打字错误?我发现使用剪切粘贴复制名字(特别是长名字)很有帮助。嗨,安德鲁,谢谢你抽出时间。我已经包括了一些我原本故意省略的东西。MyClass是CoreDataTableViewController的一个子类。除非与超类中的另一个属性发生冲突(看起来情况并非如此),否则我不认为这会产生任何影响。你有没有尝试过用一个全新的类来重现这个问题,而这个类实际上不包含任何其他内容?我的猜测是,它可以很好地工作,而您的问题源于您在示例中忽略的某个内容。
- (UIRefreshControl*)myPrivateRefreshControl{

 if(!_myPrivateRefreshControl) {

_myPrivateRefreshControl = [[UIRefreshControl alloc] init];
 }
 return _myPrivateRefreshControl;
}

@end