Я родом из AS3 фона.В AS3, когда вы назначаете объект в var, вы не копируете объект в var, var становится ссылкой на объект.
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];
... если вы можете освободить его, это означает, что вам не нужноэто больше. Так что это скопировано? или свойство "text" в myLabel является ссылкой на myString?
Как вы можете догадаться, я только начинаю в мире Objective C.
ТИА