1
У меня есть .h
и .m
реализовать NSCoding
, но граф mutableArray
объект всегда будет 0 ...IOS NSCoding NSMutableArray
.h
#import <Foundation/Foundation.h>
@interface Favorite : NSObject <NSCoding> {
NSMutableArray *myArray;
}
@property (nonatomic, retain) NSMutableArray *myArray;
@end
.m
#import "Favorite.h"
@implementation Favorite
- (void)dealloc {
[myArray release];
}
- (void)encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:myArray];
}
- (id)initWithCoder:(NSCoder *)decoder {
myArray = [[decoder decodeObject] retain];
return self;
}
@end
Я буду использовать этот класс, как
Favorite *fav = [[Favorite alloc] init];
fav.myArray = self.anotherArray;
[fav release];
Правильно ли это?
добавить функцию инициализации для Favorite.m еще получить MyArray количество 0, пожалуйста, помогите мне. - (id) init { if (self = [super init]) { NSMutableArray * array = [[NSMutableArray alloc] init]; self.myArray = array; [массив релиз]; } return self; } – Yun
[encoder encodeObject: myArray forKey: @ "myArray"]; то при декодировании myArray = [декодер decodeObjectForKey: @ "myArray"]; ... попробуйте это –
, тогда вам нужно выделить оба массива .. –