Первые несколько программ, которые я написал в ObjC, работали, но были в беспорядке, поэтому на этот раз я хотел сделать все правильно и использовать MVC.Все части работают и были протестированы, и все шло отлично, пока я не попытался скопировать NSMutableArray из модели через VC в представление.Точно такой же формат и код использовались и отлично работают в другом аспекте программы, но этот конкретный вид использует drawRect и прерывается, если я не сохраняю массив.Когда я делаю это вызывает утечку.Чтобы изолировать проблему и создать обходной путь, я загрузил массив непосредственно из списка pList.Выглядит это так:
@interface HWView : UIView <UIGestureRecognizerDelegate>
{
NSMutableArray *drawStates;
}
@property (nonatomic, retain) NSMutableArray *drawStates;
в .m
@implementation HWView
@synthesize drawStates;
- (void)awakeFromNib
{
[self HWVReset];
}
-(void)HWVReset
{
NSLog(@"HWVReset:");
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *plistPath = [documentsDirectorystringByAppendingPathComponent: @"PLIST_drawState.plist"];
self.drawStates = [[NSMutableArray arrayWithContentsOfFile:plistPath]retain];
NSLog(@"drawStates:%@",self.drawStates);
[self setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect
{
//draw code
}
- (void)dealloc
{
[self.drawStates release];
[super dealloc];
}
Так что работает, но течет.Я удаляю сохранение из: "self.drawStates = [[NSMutableArray arrayWithContentsOfFile: plistPath] retain];"и он падает.Любая помощь приветствуется.