У меня есть класс с именем A;
В Ah
@interface A : NSObject {
NSString *str;
NSNumber *num;
}
@property (nonatomic,retain) NSString *str;
@property (nonatomic,retain) NSNumber *num;
A является суперклассом B.
В Bh
@interface B : A {
NSString *BStr;
}
@property (nonatomic, retain) NSString *BStr;
@end
Теперь мне нужно установить объект B как ключ NSDictionary.
- (void)viewDidLoad {
[super viewDidLoad];
B *key = [[B alloc] init];
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"object" forKey:key];
}
Тогда класс B должен реализовать протокол NSCopying.
Я хотел бы знать, правильный ли этот код?Должен ли я что-то сделать со свойством класса A?
В Бм
- (id) copyWithZone:(NSZone *)zone {
B *copy = [[[self class] allocWithZone:zone] init];
copy.BStr = [[self.BStr copyWithZone:zone] autorelease];
return copy;
}
Спасибо!