0

我正在尝试将颜色选择器合并到我的应用程序中。我已将 KZColorPicker 库从https://github.com/alexrestrepo/KZColorPicker复制到我的项目中

问题是该库显然是在没有使用 ARC 的情况下创建的。我正在使用 ARC,所以我遇到了很多错误,然后我注释掉了所有出错的发布声明。

实例化“KZDefaultColorViewController”后,它将进入 ViewDidLoad 语句,但给我一个“EXC_BAD_ACCESS code=1”错误。有任何想法吗???

这是启动颜色选择器屏幕的 IBAction:

- (IBAction)selectColor1:(id)sender
{
 DebugLog(@"Change Color 1 Intiated");

// Use this code to push to the color picker
 KZDefaultColorViewController *pickerController = [self.storyboard instantiateViewControllerWithIdentifier:@"ColorViewController"];
 pickerController.navigationItem.title = @"Choose Color 1";
 [self.navigationController pushViewController:pickerController animated:YES];
}

然后它转到 KZDefaultColorViewController 的 ViewDidLoad 似乎我得到了 EXC_BAD_ACCESS 错误:

- (void)viewDidLoad {

 [super viewDidLoad];

 KZColorPicker *picker = [[KZColorPicker alloc] initWithFrame:self.view.frame];
 picker.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
 picker.selectedColor = self.selectedColor;
 picker.oldColor = self.selectedColor;
 [picker addTarget:self action:@selector(pickerChanged:) forControlEvents:UIControlEventValueChanged];
 [self.view addSubview:picker];

}
4

1 回答 1

1

在删除关于 [_window release] 的行后,我将此项目转换为 arc;并将 IS_IPAD 定义暂时固定为 0,没有问题。(通过 Edit 菜单,在 Refactor 下,转换为 Arc)

如果您将某些项目复制到自己的项目中,则错误可能是由于未正确实现 KZDefaultColorControllerDelegate,或者您在代码中缺少 pickerChanged: 方法..或者没有先转换为 arc。注释掉发布声明不一定能解决所有弧问题。

于 2013-09-27T02:28:02.603 回答