关于retain 、readonly、readwrite、copy、assign的详细介绍

iphone开发一定会遇到

@property (retain, nonatomic) IBOutlet UITextView *descText;

其中的retain 还可以填写为其他如readonly、retain、read write、copy、assign等属性。

具体代表的意思下面列出:

retain   When you’re dealing with object values. The compiler will retain the value you pass in (we’ll talk more about retaining in a minute) and release the old value when a new one comes in.

 

readonly   When you don’t want people modifying the property.You can still change the field value backing the

property, but the compiler won’t generate a setter.

 

readwrite   When you want the property to be modifiable by people. The compiler will generate a getter and a  setter for you. This is the default.

 

copy             When you want to hold onto a copy of some value instead of the value itself; for example, if you want to hold onto an array and don’t want people to be able to change its contents after they set it. This sends a copy message to the value passed in then retains that.

 

assign       When you’re dealing with basic types, like ints, floats, etc. The compiler just creates a setter with a simple myField = value statement. This is the default, but not usually what you want.

 

你可能感兴趣的:(copy,readOnly,readwrite,retain,assign)