title: Core Data and Grand Central Dispatch Internal Inconsistency
body: <p>I am developing an iOS app using iOS 5.</p>
  
  <p>I am having trouble using grand central dispatch to fill a view for a GMGridViewCell.</p>
  
  <p>THe problem is not with the GridCell it self, but with the access to data in GCD.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>- (GMGridViewCell *)GMGridView:(GMGridView *)gridView cellForItemAtIndex:(NSInteger)index
  {
      //NSLog(@"Creating view indx %d", index);
  
      CGSize size = [self sizeForItemsInGMGridView:gridView];
  
      GMGridViewCell *cell = [gridView dequeueReusableCell];
  
      if (!cell) 
      {
          cell = [[GMGridViewCell alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
      }
  
      [[cell.contentView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
  
      dispatch_queue_t fillCellQueue = dispatch_queue_create("Cell fetch queue", NULL);
      dispatch_async(fillCellQueue, ^{
          SearchGridViewCell *cellView = [UIView loadFromNib:@"SearchGridViewCell" owner:self];
          Item *item = [self.foundItems objectAtIndex:index];
  
          cellView.itemImageView.image = [UIImage imageWithData:item.image.thumb];
  
          cellView.itemNameLabel.text  = item.name; 
  
          cellView.brandImageView.image = [UIImage imageWithData:item.group3.image.thumb];
  
          Attribute *itemAttribute = [item.attributes objectAtIndex:0];
          cellView.attributeLabel.text  = [itemAttribute.name stringByAppendingFormat:@": "];
          [cellView.attributeLabel sizeToFit];
  
          cellView.itemAttributeValueLabel.text = itemAttribute.value;
          [cellView.itemAttributeValueLabel sizeToFit];
  
          dispatch_sync(dispatch_get_main_queue(), ^{
              [cell addSubview:cellView];
          });
      });
      dispatch_release(fillCellQueue);
  
      return cell;
  }
  </code></pre>
  
  <p>When running the app I get the following error:</p>
  
  <pre><code>*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'statement is still active'
  *** First throw call stack:
  (0x1a1f052 0x35b3d0a 0x11cde0a 0x11cd58d 0x11f689f 0x11ec955 0x11d7df4 0x11f6418 0x11f3b62 0x11f3a57 0x11f316b 0x11f2f97 0x11f2b75 0x11f29f2 0x1236e10 0x51de7 0x44ab445 0x44acecf 0x44acd28 0x44ac4af 0x91442b24 0x914446fe)
  </code></pre>
  
  <p>What am I doing wrong?</p>
  
  <p><strong>EDIT</strong> More info,</p>
  
  <p>The first line that throws the exception:</p>
  
  <pre><code>cellView.itemImageView.image = [UIImage imageWithData:item.image.thumb];
  </code></pre>
  
  <p>And I believe the problem is from GCD because when I run this without GCD it works fine. But the scrolling of the grid is a bit sluggish, which is why I want to add GCD to it.</p>