Re: [問題] 關於 getter method
※ 引述《Senkousha ( )》之銘言:
: hmm, 想請問一下,
: 假設我在 interface 裡宣告一個 id 變數要 export 出去,
: 但因為內部是用 NSMutableArray 實作的,
: 不能讓外部的呼叫者拿到,因此用 getter 包了一層 copy…
: 那我自己在內部有辦法產生另外一個(真的) getter,
: 不是拿 copy 出的 id,而是直接拿到真正的 NSMutableArray pointer 嗎?
: ----
: 雖然說在 init 裡面 alloc 好之後就可以直接存取,
: 但是心裡總覺得毛毛的(?)想要用 [self iVarName]…
不需要毛毛的, 你就直接用吧...
不過你想要的東西不是辦不到, 可以這樣寫
(in header)
@interface Foo : NSObject
{
NSMutableArray *mutableArray;
}
@property(copy, readonly) NSArray *array;
@end
(in implementation)
@interface Foo ()
@property(retain) NSMutableArray *mutableArray;
@end
@synthesize array = mutableArray, mutableArray;
參見 http://tinyurl.com/2v4eewr (蘋果官網的教學)
把 mutableArray 這個 property 放到 .m 可以達到 private method 的效果
不過成員變數 private, getter 直接回傳, 這兩者根本是 Objective-C 的預設特性
所以我還是覺得不如直接存取變數本身...
--
╱ ̄ ̄ ̄╲
▏◢█◣ ▏
︻█︻█ ▏ 成龍表示: 是喔...
′/ ‵ ▏
╰╯ █╱
ψQSWEET ◥︶█◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.81.146
※ 編輯: uranusjr 來自: 114.32.81.146 (07/03 17:47)
推
07/03 17:51, , 1F
07/03 17:51, 1F
→
07/03 17:52, , 2F
07/03 17:52, 2F
→
07/03 17:52, , 3F
07/03 17:52, 3F
→
07/03 19:31, , 4F
07/03 19:31, 4F
推
07/03 20:31, , 5F
07/03 20:31, 5F
→
07/03 20:31, , 6F
07/03 20:31, 6F
→
07/03 20:31, , 7F
07/03 20:31, 7F
→
07/03 20:32, , 8F
07/03 20:32, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章