1、只要呼叫了alloc,就必須有release(autorelease)
2、set方法的**規範
//(1)基本資料型別:直接複製
-(void)setage:(int)age
//(2)oc物件型別
-(void)setcar:(car *)car
}
3、dealloc方法的**規範
//一定要[super dealloc],而且要放到最後
//對self(當前)所擁有的的其他物件做一次release操作
-(void)dealloc
retain(strong):對物件release舊值,retain新值(適用於oc物件型別)
assign(week):直接賦值(預設,適用於非oc物件型別)
copy:release舊值,copy新值
下面的例子進一步詳解了手動記憶體管理:
#import
#import "engine.h"
@inte***ce
car : nsobject
-(void)seteng:(engine *)eng;
-(engine *)eng;
-(void)run;
@end
#import "car.h"
@implementation
car//第一次
//-(void)seteng:(engine *)eng
//第二次
//-(void)seteng:(engine *)eng
//第三次
//-(void)seteng:(engine *)eng
//
//}//簡便寫法
-(void)seteng:(engine *)eng
-(engine *)eng
-(void)run
- (void)dealloc
@end
#import
@inte***ce
engine : nsobject
@end
#import "engine.h"
@implementation
engine
- (void)dealloc
@end
#import
#import "test.h"
#import "car.h"
int main(int argc, const
char * argv)
return
0;}
-15.8.7
-15.8.12
ios學習記錄 day20 OC 5
記憶體管理 閃退 1.記憶體洩露 不管理記憶體 2.記憶體過度釋放 oc 1.手動管理記憶體 mrc 弊端 容易過度釋放 2.自動管理記憶體 arc 弊端 錯誤都出在底層 不易查詢 垃圾 只限於mac應用程式 手動管理記憶體 引用計數增加 引用計數減少 alloc 開闢記憶體 0 1 retain ...
IOS開發 OC語言 概述
1 跟 include一樣,拷貝檔案的內容 2 可以自動防止檔案的內容被重複拷貝 nsobjcruntime.h中有nslog函式的宣告 1 主標頭檔案 最主要的標頭檔案,名字一般跟框架名稱一樣,包含了框架中的所有其他標頭檔案 2 foundation框架的主頭檔名稱就是foundation.h 3...
IOS開發 OC語言 分類
分類的作用 在不改變原來類內容的基礎上,可以為類增加一些方法 使用注意 1.分類只能增加方法,不能增加成員變數 2.分類方法實現中可以訪問原來類中宣告的成員變數 3.分類可以重新實現原來類中的方法,但是會覆蓋掉原來的方法,會導致原來的方法沒法再使用 4.方法呼叫的優先順序 分類 最後參與編譯的分類優...