對外readonly而內部要write怎辦?
只要在m裡面加上同名的property就好,或是寫上 _propertyNam,前面加上_
原理是加上 _就等於直接存取instance verbel,所以就可以寫值了
平常的dot寫法不行或是[self setPropertyName]不行是因為上面兩種其實都是call method 去寫的,也就是其實是語法糖衣,當你h的宣告為readonly,編譯器不會自動幫你寫上setter,所以用上面兩種不行!
需要直接用instance verbel做寫入~
---------------
當你寫property後,編譯器已經自動幫你寫好setter和getter,還有synthesize ~ 所以可以直接用_去訪問instance verbal.
沒有留言:
張貼留言