推 tentenlee:我一開始也不解 之後寫久了會發現那2個東西是不太依樣的 05/01 12:51
→ tentenlee:久了也會去習慣寫底線去分辨它們 只是我底線是放在等號 05/01 12:52
→ tentenlee:後面的 05/01 12:52
→ wasihero:上面那個可以直接 str.xxx=xx 下面的要 self._str.xx=xx 05/02 00:11
推 aecho:簡單說,是命名慣例。加底線是為了區分出這是local var。 05/09 09:38
推 d71941:可以避免ivar跟accessor混用,下面的如果在setter中,本來要 05/11 02:10
→ d71941:打_str=xx,如果打成self._str=xx,就會造成無窮遞迴 05/11 02:12
→ d71941:或者是getter或setter裡有做某些處理,但是不小心用成_str, 05/11 02:17
→ d71941:就會漏掉那些處理直接動到ivar,可能會造成bug 05/11 02:18