Iphone 为分段控制获取EXC\u BAD\u访问权限

Iphone 为分段控制获取EXC\u BAD\u访问权限,iphone,ios,automatic-ref-counting,uisegmentedcontrol,Iphone,Ios,Automatic Ref Counting,Uisegmentedcontrol,每当我在iphone应用程序中点击分段控件时,我都会遇到EXC_BAD_访问 我正在使用一个名为PPiFlatSegmentedControl()的OSS库。下面是我初始化段的代码: - (void)setupSegmentedControl { // open source library - PPiFlatSegmentedControl PPiFlatSegmentedControl *segmentedControl = [[PPiFlatSegmentedControl all

每当我在iphone应用程序中点击分段控件时,我都会遇到EXC_BAD_访问

我正在使用一个名为PPiFlatSegmentedControl()的OSS库。下面是我初始化段的代码:

- (void)setupSegmentedControl {
  // open source library - PPiFlatSegmentedControl
  PPiFlatSegmentedControl *segmentedControl = [[PPiFlatSegmentedControl alloc] initWithFrame:CGRectMake(0, 42, 320, 40) items:@[
                                              @{@"text":@"ALL"},
                                              @{@"text":@"COMPLETED"},
                                              @{@"text":@"UNCOMPLETED"}] iconPosition:IconPositionRight andSelectionBlock:^(NSUInteger segmentIndex) {
                                              switch (segmentIndex) {
                                                  case 0:
                                                       // All
                                                       //[self enableFilters];
                                                       [tasks addObjectsFromArray:[[CoreDataManager sharedInstance] fetchTaskList]];
                                                       break;
                                                  case 1:
                                                        // Complete
                                                        [tasks addObjectsFromArray:[[CoreDataManager sharedInstance] fetchTasksByCompletion:YES]];
                                                        break;
                                                  case 2:
                                                        // Uncompleted
                                                        [tasks addObjectsFromArray:[[CoreDataManager sharedInstance] fetchTasksByCompletion:NO]];
                                                        break;
                                                  default:
                                                  break;
                                               }


                                              }];

  segmentedControl.color=[UIColor colorWithRed:45.0f/255.0 green:203.0f/255.0 blue:116.0f/255.0 alpha:1];
  segmentedControl.borderWidth=0.5;
  segmentedControl.borderColor=[UIColor darkGrayColor];
  segmentedControl.selectedColor=[UIColor colorWithRed:36.0f/255.0 green:190.0f/255.0 blue:104.0f/255.0 alpha:1];
  segmentedControl.textAttributes=@{NSFontAttributeName:[UIFont systemFontOfSize:13],
                             NSForegroundColorAttributeName:[UIColor whiteColor]};
  segmentedControl.selectedTextAttributes=@{NSFontAttributeName:[UIFont systemFontOfSize:13],
                                     NSForegroundColorAttributeName:[UIColor whiteColor]};
  [self.view addSubview:segmentedControl];
因此,每当我点击其中一个单元格/按钮时,就会出现错误。请记住,我的项目目前没有ARC,所以我真的有一种感觉,我管理内存不正确。如果您需要更多信息或任何其他信息-请让我知道


-Matt

请注释掉您的
开关
,然后重试。我想知道问题是分段控件还是核心数据。顺便说一句,如果您的项目没有使用ARC,那么您应该
autorelease
控件:
[self.view addSubview:[segmentedControl autorelease]尝试将segmentedControl定义为ivar。酷,我将其设置为ivar,添加了[segmentedControl autorelease]&注释掉了开关。错误现在是-[\uu NSCFString CGColor]:无法识别的选择器发送到实例0x8a97700-这很奇怪。。这可能是图书馆的问题吗?错误似乎位于UIButton+PPiAwesome.m方法:-(void)setBackgroundColor:(UIColor*)color for UIControlState:(UIControlState)状态,