在4 2系統上發現的NSString行為變化

2021-05-23 23:50:02 字數 453 閱讀 4844

突然被人問道[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...