存燃烀小(accessor)方法是用來讀取或改變某個(gè)對(duì)象屬性的方法。也就是我們平常所說的get方法和set方法。set方法根據(jù)它所更改的屬性的名稱來命名匾浪,并加上前綴set。如setEngine.而get方法則是以其返回的屬性名稱命名卷哩,如engine.在Java等其它語言中蛋辈,是會(huì)用get做前綴的,為什么編寫Cocoa程序不需要呢将谊?
get這個(gè)詞在Cocoa中有些特殊的含義冷溶,如果get出現(xiàn)在Cocoa方法的名稱中,就意味著這個(gè)方法會(huì)將你傳遞的參數(shù)作為指針來返回?cái)?shù)值尊浓。例如逞频,NSData(Cocoa中的類,它可以存儲(chǔ)任意序列的字節(jié))中有一個(gè)getBytes:方法眠砾,它的參數(shù)就是用來存儲(chǔ)字節(jié)的內(nèi)存緩沖區(qū)的地址虏劲。而NSBezierPath(用于繪制貝塞爾曲線)中的getLineDash:count:phase:方法中則有三個(gè)指針型參數(shù):指向存儲(chǔ)虛線樣式的浮點(diǎn)型數(shù)組的指針,指向存儲(chǔ)虛線樣式中元素個(gè)數(shù)的整數(shù)型數(shù)據(jù)的指針褒颈,以及指向虛線起始點(diǎn)的浮點(diǎn)型數(shù)據(jù)的指針柒巫。
如果你在存取方法的名稱中使用了get,那么有經(jīng)驗(yàn)的Cocoa編程人員就會(huì)習(xí)慣地將指針當(dāng)做參數(shù)傳入這個(gè)方法谷丸,當(dāng)他們發(fā)現(xiàn)這是一個(gè)簡單的存取方法時(shí)就會(huì)感到困惑堡掏。最好不要讓其他編程人員被你的代碼搞得一頭霧水。