作者uranusjr (←这人是超级笨蛋)
看板MacDev
标题Re: [问题] NSNumber的物件能够改变值吗?
时间Sat Sep 5 02:37:15 2009
※ 引述《leondemon (狗狗)》之铭言:
1F:推 Blueshiva:NSNumber能吃的都是标准的C型别啊,好像没有必要用他来 09/05 02:17
2F:→ Blueshiva:做运算... 09/05 02:17
3F:→ uranusjr:我是只有在非用不可的时候才会用 NSNumber... 09/05 02:23
4F:→ Blueshiva:NSNumber我通常都是要传东西给Cocoa物件的时候才用 09/05 02:24
5F:→ leondemon:因为string, array, dictionary, set都有mutable物件 09/05 02:26
6F:→ leondemon:所以我不懂要怎麽用Number去抽换我要的数值 Orz 09/05 02:26
我会要问这个 是因为我记得NSMutableArray里面是必须放物件
那如果我要存放数值 而这个数值会有所变动的话 就会有很多NSNumber物件产生了...
还是说只有我认为NSNumber没有mutable功能是不合理的 =.=|
※ 编辑: leondemon 来自: 203.77.52.127 (09/05 02:29)
是的这没错, 所以要有 wrapper (也就是 NSNumber 的存在理由之一...)
如果要改也不需要用 mutable 吧
直接在改的 method 里面把 pointer 移到另一个 NSNumber 物件就好了
而且其实这样好像比较好...
我是不太清楚, 不过我看别人写的 code 里面, 在这种状况都是这样做
即使是 string 也都是用 immutable class 然後要改的时候再砍掉重练...
我是这样猜 (真的完全是猜的喔, 不负责)
数字本来就没有用 mutable class 的必要, 因为一旦改动就是整个都不一样
不像 string 和 array 有那种抽掉其中几个换几个进去的特性
所以要改的时候直接砍掉重练效能还比较好
--
「我最想要的同伴嘛,首先是要笑口常开,其次是我们能永远不会发生误会。
如果这些都能办到的话,嗯,如果他是世界上第一流的桥手,也还不错。」
-- 班尼多‧加罗素,前义大利蓝队成员
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.72.123
7F:推 Blueshiva:不过这问题就是忘记release就爆了,不过NSMuatbleArray 09/05 02:41
8F:→ Blueshiva:的replace好像会自己帮你release? 09/05 02:41