突然被人問道[nsstring stringwithstring:@"***"]產生的字串要不要顯示地釋放。
雖然第一反應是不需要釋放。不過為了保險期間還是檢視了一下retaincount。
然後發現了奇怪的東西。
cstr,dumpstr,str三個指標最後居然都指向同乙個地方。真機和模擬器都測試過。結果一樣。
這好像和以前的結果不同。
首先 [nsstring alloc]沒有產生新的nsstring物件。而是直接指向了cstr。
第二,str指向的nsstring不是乙個計數器1的指標,如果這個東西是要進行autorelease的話,應該計數器是1。因為只有autoreleasepool含有他的引用了。
但是實際上他們都指向乙個位址,並且計數器是無限大。
結論:編譯器進行了優化,發現了字串常量的存在。並且讓所有對這個常量的複製行為都變成了直接指向常量。
SublimeText在Mac系統上的安裝方法
1 開啟 到這裡工具就安裝好了,3 sublimetext 常用的命令 shift command p 開啟命令面板 command k b 開啟目錄導航,隱藏目錄導航 command 放大字型 command 縮小字型 command 退回乙個空格 command 縮近乙個空格 command n...
Zookeeper在linux系統上的安裝及啟動
table of contents zookeeper 在linux系統的安裝 zookeeper 服務啟動 安裝步驟 第二步 把 zookeeper 的壓縮包 資源 配套軟體 dubbox zookeeper 3.4.6.tar.gz 上傳到 linux 系統。alt p 進入sftp 輸入put...
在Mac系統上安裝Tomcat
1。mac中 finder開啟 library的方法 新建 finder視窗 按下 shift command g 輸入 library 進入 該隱藏目錄。ps 這個快捷鍵非常的有用,一定要記住!2。修改目錄許可權 選中 資料夾 command i 開啟 簡介,修改檔案許可權 命令 sudo chm...