我來自AS3背景。在AS3中,當您將對象分配給var時,您不會將該對象複製到該var,則該var將成爲對該對象的引用。理解參考目標c
var myObject = new MyClass();
myObject.name = "Bananas";
var myRef = {};
myRef.ref = myObject;
trace(myRef.ref.name); // Bananas
myObject.name = "Mango";
trace(myRef.ref.name); // Mango
myObject = null;
trace(myRef.ref); // null
在Objective C,據我所知,當你分配一些對象的其他一些屬性對象的「對象被複制。我的困惑來自於一個事實,即使用臨時對象後,就可以將其釋放。
NSMutableString* myString = [[NSMutableString alloc] initWithString:@"Hello"];
[myLabel setText:myString];
[myString release];
...如果你可以釋放它意味着你不需要它了,所以它被複制?或「文本」在myLabel屬性是MyString的參考?
正如您可以猜到我剛剛開始在目標C.
的世界TIA