我正在尝试将颜色选择器合并到我的应用中。我已经从https://github.com/alexrestrepo/KZColorPicker
将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];
}
答案 0 :(得分:1)
在删除关于[_window release]的行后,我将此项目转换为arc;并且现在将IS_IPAD定义修复为0,没有问题。 (通过编辑菜单,在重构下,转换为Arc)
如果您将某些项目复制到您自己的项目中,则错误可能是由于未正确实现KZDefaultColorControllerDelegate,或者您在代码中缺少pickerChanged:方法或未首先转换为arc。评论发布声明不一定能解决所有电弧问题。