что означает свойство copy в среде Cocoa? (например, свойство items в UITabBar)
В UITabBar.h надлежащим образом подписанная копия
@property (nonatomic, copy) NSArray * items; // получить / установить видимым
Это массив И что такое "копия"? средства? скопировать NSArray контейнер obj? скопировать каждый объект NSArray содержит? или что-то.
so there's a testUITabBar* testBar = [[UITabBar alloc] init];
UITabBarItem* item = [[UITabBarItem alloc] init];
NSArray* array = [[NSArray alloc] initWithObjects:item, nil];
NSLog(@"bar:%p,%d", testBar, testBar.retainCount);
NSLog(@"item:%p,%d", item, item.retainCount);
NSLog(@"array:%p,%d", array, array.retainCount);
testBar.items = array;
NSLog(@"that item:%p,%d", [testBar.items lastObject], [[testBar.items lastObject] retainCount]);
NSLog(@"testBar.items:%p,%d", testBar.items, testBar.items.retainCount);
result
бар: 0x96a9750,1
пункт: 0x96aa230,2
Массив: 0x96aa280,1
этот предмет: 0x96aa230,2
testBar.items: 0x96aa280,6
почему ни контейнерный массив, ни obj в массиве не были "скопированы"?