问题与'强'属性有关

时间:2013-04-22 04:04:54

标签: objective-c

我正在尝试学习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)

2 个答案:

答案 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'......