在项目中的这个函数里面,[NSMutableArray array]与[[NSMutableArray alloc] init];有着较明显的区别

同样是建立一个NSMutableArray临时变量,为什么前者可以,后者在多次调用clearLastLine函数时会出错呢?

亟待解决!在TryIt.proj->FingerPaintView里面

- (void)clearLastLine {
    NSMutableArray *lastLine = [NSMutableArray array];
    if ([mDrawLines count] >= 1)
    {
        lastLine = [mDrawLines objectAtIndex:[mDrawLines count]-1];
        [mRemovedLines addObject:lastLine];
        [mDrawLines removeLastObject];
        NSLog(@"%s:removed lines:%@",__FUNCTION__,mRemovedLines);
        mCurrentLine = nil;
        [self setNeedsDisplay];//系统会调用drawRect绘图
    }
}

/////////////////

- (void)clearLastLine {
    NSMutableArray *lastLine = [[NSMutableArray alloc] init];
    if ([mDrawLines count] >= 1)
    {
        lastLine = [mDrawLines objectAtIndex:[mDrawLines count]-1];
        [mRemovedLines addObject:lastLine];

   [lastLine release];
        [mDrawLines removeLastObject];
        NSLog(@"%s:removed lines:%@",__FUNCTION__,mRemovedLines);
        mCurrentLine = nil;
        [self setNeedsDisplay];//系统会调用drawRect绘图
    }
}

相关文章:

  • 2022-01-09
  • 2022-12-23
  • 2022-01-25
  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
  • 2022-01-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2021-05-02
  • 2022-02-11
  • 2021-06-06
  • 2022-12-23
相关资源
相似解决方案