蘋果確實是將值直接存儲到了指針本身里面,打印地址可以看到值對應(yīng)的ASCll值
深入理解Tagged Pointer
特點
1.我們也可以在WWDC2013的《Session 404 Advanced in Objective-C》視頻中,看到蘋果對于Tagged Pointer特點的介紹:
Tagged Pointer專門用來存儲小的對象,例如NSNumber和NSDate
2.Tagged Pointer指針的值不再是地址了,而是真正的值。所以,實際上它不再是一個對象了,它只是一個披著對象皮的普通變量而已。所以,它的內(nèi)存并不存儲在堆中,也不需要malloc和free。
3.在內(nèi)存讀取上有著3倍的效率,創(chuàng)建時比以前快106倍。
由此可見,蘋果引入Tagged Pointer
,不但減少了64位機器下程序的內(nèi)存占用,還提高了運行效率。完美地解決了小內(nèi)存對象在存儲和訪問效率上的問題。
注意
不要直接訪問其isa變量