понимание ссылки в объекте c

Я работаю с AS3. В AS3, когда вы назначаете объект переменной, вы не копируете объект в переменную, эта переменная становится ссылкой на объект.

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, AFAIK, когда вы назначаете некоторый объект какому-либо свойству другого объекта, "объект скопирован. Мое замешательство связано с тем, что после использования временного объекта вы можете его освободить.

NSMutableString* myString = [[NSMutableString alloc] initWithString:@"Hello"];
[myLabel setText:myString]; 
[myString release];

... если вы можете освободить, это означает, что он вам больше не нужен. Так он скопирован? или" текст "свойство в myLabel является ссылкой на myString?

Как вы можете догадаться, я только начинаю в мире Objective C.

TIA

0
задан Pier 26 June 2011 в 20:34
поделиться