-
把Objective-C 和 C++ 兩門面向?qū)ο缶幊陶Z言進(jìn)行對比派殷。它們語法出現(xiàn)差異的原因,是觸發(fā)對象行為的方式不同敲长,Objective-C 是向?qū)ο髠鬟f消息的結(jié)構(gòu)模式(Objective-C 演變自 Smalltalk, Smalltalk 使用了傳遞消息的機(jī)制)梨与,而 C++ 是函數(shù)調(diào)用。代碼舉例:
// Messaging (OBJC) Object *obj = [Object new]; [obj performWith:parameter1 and:parameter2]; // Function calling (C++) Object *obj = new Object; obj -> perform(parameter1, parameter2);
Objective-C 的動態(tài)綁定特性未舟,在 運(yùn)行時(runtime)進(jìn)行對象方法的匹配圈暗,而不是在編譯的時候。
在 運(yùn)行時 階段裕膀,一組代碼會和你的代碼進(jìn)行合并起來厂置,并且把你的代碼和動態(tài)庫相連接。
-
Objective-C 中對象在內(nèi)存中的存儲方式魂角。
NSString *someString = @"The string"; NSString *anotherString = someString;
內(nèi)存分配