iOS中assign、copy 、retain等关键字的含义

assign: 简单赋值,不更改索引计数
-(void)setMyObject:(id)newValue{
    _myObject = newValue; 
}

copy: 建立一个索引计数为1的对象,然后释放旧对象
-(void)setMyObject:(id)newValue{
    if (_myObject != newValue) { 
        [_myObject release]; 
        _myObject = [newValue copy]; 
    } 
}

retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1
-(void)setMyObject:(id)newValue{
    if (_myObject != newValue) { 
        [_myObject release]; 
        _myObject = [newValue retain]; 
    }  
}

readonly表示这个属性是只读的,就是只生成getter方法,不会生成setter方法.

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。