Re: [問題] NSNumber的物件能夠改變值嗎?
※ 引述《uranusjr (←這人是超級笨蛋)》之銘言:
: 是的這沒錯, 所以要有 wrapper (也就是 NSNumber 的存在理由之一...)
不太懂什麼是wrapper (有沒有什麼關鍵字可以幫助google search?)
: 如果要改也不需要用 mutable 吧
: 直接在改的 method 裡面把 pointer 移到另一個 NSNumber 物件就好了
: 而且其實這樣好像比較好...
我除了Obj-C外 唯一會的語言是Python (這兩個都是最近開始學的)
據我所知在Python中 變數都是物件 而同一個變數名稱的值還可以從integer改存float
(雖然我不知道有沒有重新分配記憶體)
好處是使用起來更方便
: 我是不太清楚, 不過我看別人寫的 code 裡面, 在這種狀況都是這樣做
: 即使是 string 也都是用 immutable class 然後要改的時候再砍掉重練...
: 我是這樣猜 (真的完全是猜的喔, 不負責)
: 數字本來就沒有用 mutable class 的必要, 因為一旦改動就是整個都不一樣
: 不像 string 和 array 有那種抽掉其中幾個換幾個進去的特性
: 所以要改的時候直接砍掉重練效能還比較好
我不太懂為什麼要重新分配記憶體空間的方式 效能會比較好(我計概很爛)?
我原本以為直接改變物件的變數 (mutable) 效能會比較好 而且省記憶體空間...
還是我有理解有錯? Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.77.52.127
※ 編輯: leondemon 來自: 203.77.52.127 (09/05 02:52)
討論串 (同標題文章)