Xcode:声明它抱怨的私有@property(Objective-C)

Posted

技术标签:

【中文标题】Xcode:声明它抱怨的私有@property(Objective-C)【英文标题】:Xcode: declaring private @property it complain (Objective-C) 【发布时间】:2020-07-21 18:03:14 【问题描述】:

我正在尝试声明私有属性,但出现此错误:

Unexpected '@' in program

这是我的实现

@implementation MyClassImplementation

@property (nonatomic,strong) NSArray *new;

@end

这是我收到错误@property (nonatomic,strong) NSArray *new; 的地方,你们中的任何人都知道我为什么会收到此错误,或者是否有解决方法?

非常感谢您的帮助

【问题讨论】:

这能回答你的问题吗? private property in Objective C 【参考方案1】:

私有属性通常在 .m 文件中的类未命名类别中声明,并且为了遵循 Cocoa 命名约定,不应使用 new 关键字:

@interface MyClassImplementation ()

@property (nonatomic, strong) NSArray *array;

@end

@implementation MyClassImplementation

....

@end

【讨论】:

为了正确的术语,@interface MyClassImplementation () 不是未命名/匿名类别,而是一个类扩展。见Class Extensions Extend the Internal Implementation。 @zrzka 感谢您的通知,但来自文档:“因为括号中没有给出名称,所以类扩展通常被称为匿名类别。”所以可以这样命名。

以上是关于Xcode:声明它抱怨的私有@property(Objective-C)的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试在函数前面添加私有时,Xcode 抱怨“属性私有只能在非本地范围内使用”

iOS Category 和 Protocol 中的 Property 你们真的会了么?

子类化库中的私有类

Xcode 抱怨我需要一个 iPhone 7 的图标,但没有任何地方

Xcode 抱怨视图的不可解码实例

在 Podfile 中声明架构