IOSCopy什么時(shí)候用?

在O-C里面有個(gè)值對(duì)象的概念,當(dāng)你新定義一個(gè)屬性是值對(duì)象時(shí)就應(yīng)該用copy來(lái)修飾。那么都什么對(duì)象是值對(duì)象呢?

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的臨洮網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

值對(duì)象是指封裝了基本值(屬于 C 數(shù)據(jù)類型)且提供與該值相關(guān)的服務(wù)的對(duì)象。值對(duì)象以對(duì)象形式表示標(biāo)量類型。Foundation 框架向您提供了以下類(這些類產(chǎn)生對(duì)象,用于字符串、二進(jìn)制數(shù)據(jù)、日期與時(shí)間、數(shù)字以及其他值):

  • NSString和NSMutableString

  • NSData和NSMutableData

  • NSDate

  • NSNumber

  • NSValue


異常情況:

   API中對(duì)NSArray做為屬性時(shí)也用copy而不是retain。到底怎么回事?我有點(diǎn)暈,所以就又查了文檔

When you declare instances of the value classes as properties, you should use the copy option. 將值類的實(shí)例聲明為屬性時(shí),應(yīng)該使用 copy 選項(xiàng)。
   意思是值對(duì)象應(yīng)該用copy而不是只有值對(duì)象用copy。

我又查了copy和retain的區(qū)別。

   copy: 建立一個(gè)索引計(jì)數(shù)為1的對(duì)象,然后釋放舊對(duì)象(兩個(gè)指針)
   retain:釋放舊的對(duì)象,將舊對(duì)象的值賦予輸入對(duì)象,再提高輸入對(duì)象的索引計(jì)數(shù)為1(一個(gè)指針)

   也就是說(shuō),retain是指針拷貝,copy是內(nèi)容拷貝

那么為什么API中的NSArray用的是copy呢?

   其實(shí)已經(jīng)很明顯了,就是防止外界對(duì)其進(jìn)行修改。

所以用copy還是retain沒(méi)有絕對(duì)的界限,要看需求了。

分享題目:IOSCopy什么時(shí)候用?
本文網(wǎng)址:http://muchs.cn/article46/ipiehg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、微信小程序、標(biāo)簽優(yōu)化、品牌網(wǎng)站制作網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)