objcetive-c學習筆記之 字符串

· 字符串聲明,以下三種方法:

NSString *a0 = [[NSString alloc]initWithFormat:@"kevin"];     //方法一

NSString *a1 = [[NSString alloc]initWithString:@"kevin"];    //方法二

NSString *a2 = @"kevin";    //方法三

NSString *a3 = [[NSString alloc]initWithFormat:@"kevin"]; 

區別1:方法一用Format進行字符串的聲明,方法二用String方法聲明,第三種方法和用String聲明基本一致,但是不初始化內存空間,方法一和方法二中,a0和a1使用結束後,需要進行內存釋放,但是a2不需要進行內存釋放。

區別2:用Format初始化的字符串,需要初始化一段動態內存空間,如:0x6a42a40,而用String聲明的字符串,初始化的是常量內存區,如:0x46a8,常量內存區的地址,只要值相同,佔用的地址空間是一致的。所以a1和a2的地址一致,但是a0和a3的地址不一致。

發佈了25 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章