天天看點

Objective-C程式設計 - 1. 淺談記憶體配置設定

Objective-C語言的對象類型都必須用指針,對象所占的記憶體是在堆(heap)上配置設定的。

NSString也必須在堆上配置設定,是以必須用指針。

NSString *someString = @"here is the string";

NSString *anotherString = someString;

上面例子的記憶體分布圖如下:

Objective-C程式設計 - 1. 淺談記憶體配置設定

配置設定在堆中的記憶體必須直接管理,配置設定在棧上用于儲存變量的記憶體會在其棧幀彈出時自動清理。

Objective-C中記憶體管理的機制叫自動引用計數(ARC)。

CGRect是結構體,是棧對象,是以不需要使用指針。

CGRect frame;

frame.origin.x = 0.0f;

frame.size.width = 100.0f;

繼續閱讀