我正在尝试学习Objective-C。所以我刚刚实现了一个ProfileViewController,这是我的头文件:
#import <UIKit/UIKit.h>
@interface ProfileViewController : UIViewController
@property (strong, nonatomic) UIScrollView *scrollView;//strong is not colored by XCode
@end
但我对@property
行有以下错误,我完全坚持了下来:
No 'assign', 'retain' or 'copy' attribute is specified - 'assign' is assumed
Default property 'assign' not appropriate for non-gc object
在我的ProfileViewController.m
中,我收到以下警告:Property 'scrollView' needs
setScrollView need to be defined
Developer Information:
Version: 4.1 (4B110)
Location: /Developer
Applications:
Xcode: 4.1 (516)
Instruments: 4.1 (4138)
Dashcode: 3.0.2 (336)
SDKs:
Mac OS X:
10,6: (10J567)
10,7: (11A511a)
iPhone OS:
4,3: (8H7)
iPhone Simulator:
4,3: (8H7)
答案 0 :(得分:7)
强属性是ARC(自动引用计数)的一个特性,自Xcode 4.2(LLVM编译器3.0)起可用,比较https://developer.apple.com/library/ios/releasenotes/ObjectiveC/ObjCAvailabilityIndex/index.html。
答案 1 :(得分:0)
你真的在使用ARC吗?在创建项目时,您是否勾选了“使用自动引用计数”复选框?如果您使用旧版本的XCode,那么您将无法获得这样的选项,因为它不支持ARC。在这种情况下,要么更新你的xcode,要么在没有ARC的情况下继续使用手动内存管理和关键字,例如'assign / nonassign'而不是'strong / weak'......