objective-c - 接口(interface)类型不能静态分配?

标签 objective-c xcode interface compiler-errors memory-management

我试图把它放在我的 View 对象的头文件中:

@property (nonatomic) UIColor color;

存储在此 View 中绘制线条应使用的颜色。

Xcode 在这一行给我一个错误:

Interface type cannot be statically allocated

这是什么意思,我该怎么办?

编辑:

我确实加了一个*,在合成的时候,它说:

ARC 禁止合成具有未指定所有权或存储属性的 Objective C 对象的属性?

最佳答案

您的变量是针对对象类型的,因此必须声明为指针:

@property (nonatomic) UIColor * color;    // Note the asterisk

在这种情况下,“静态分配”意味着该对象的内存是在编译时分配的。然而,Obj-C 中的所有对象都是在运行时分配并通过指针访问的。

“接口(interface)类型”是一个对编译器有意义的技术性术语,在这里并不是很重要。这意味着UIColor 表示编译器希望您与变量color 交互的接口(interface)。指向的对象的实际类型可能不同(如 class cluster,如 NSString)。

关于objective-c - 接口(interface)类型不能静态分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460340/

相关文章:

ios - 在 iOS 的原生邀请对话框中列出所有 Facebook 好友

ios - 调用 UIView initWithFrame 即使从 NIB 加载自身?

python - 使用 Python-AppKit-Objective C 转换为预组合的 Unicode 字符串

c++ - 如何正确构建 OOP 和多文件项目?

interface - PC 和定制电路之间的接口(interface)

没有完成 block 的 iOS 同步动画

swift - 如何为标签添加约束?

ios - 收到推送通知时如何重定向到 Webview 中的特定页面

ios - Swift - UIImagePickerController - 如何使用它?

c# - 抽象类和接口(interface)的区别