Я использую ARC от Apple.У меня есть буксирные классы: один, имеющий NSMutableSet, и другой, который я хочу поместить в этот NSMutableSet.
Так что, когда я делаю следующее:
ContainerClass* contClass = [[ContainerClass alloc] init];
for(int i = 0;i<10;i++)
{
SmallClass* myClass = [[SmallClass alloc] init];
[myClass setinfo:i];
[contClass.mySet addObject:myclass];
}
for(SmallClass* cls in contClass.mySet){
NSLog(@"%@", cls);
}
результат равен: (null)(ноль) (ноль) (ноль) и т. д.
Означает ли это, что SmallClass выпускается ARC?Как я могу решить это (я не могу сохранить, конечно)?Вызов copy для экземпляра myclass приводит к ошибке, потому что я не реализовал copy для myClass (в пре-ARC-смысле я бы просто сохранил его).
ContainerClass код:
@interface ContainerClass : NSObject {
NSString* _icon;
NSMutableSet* _mySet;
}
@property (nonatomic, strong) NSString* icon;
@property (nonatomic, strong) NSMutableSet* mySet;
@end
и реализация:
@implementation ContainerClass
-(id) init
{
_myset = [[NSMutableSet alloc] init];
return [super init];
}
@synthesize mySet = _mySet;
@end