2014-11-04 63 views
0

我创建了一个NSMutableArray来在那里存储一些字符。当我添加一些字符时,它会给我一个错误。这里我的代码:错误:索引1超出了空数组的边界

@property(strong,nonatomic) NSMutableArray *actions;  < ViewController.h 

@synthesize actions;          < ViewController.m 


actions = [[NSMutableArray alloc]init];  
switch ([sender tag]) { 
     case 0: 
      currentLabel = water; 
      [actions insertObject:@"0" atIndex:i]; 
      i++; 
      break; 
     case 1: 
      currentLabel = coke; 
      [actions insertObject:@"1" atIndex:i]; 
      i++; 
      break; 
     case 2: 
      currentLabel = fanta; 
      [actions insertObject:@"2" atIndex:i]; 
      i++; 
      break; 
}  
+1

显然,如果数组中没有“i”元素,则不能在索引“i”处插入元素。 – holex 2014-11-04 12:13:51

+0

第一次调用方法'insertObject:','i'是1,它应该是零。 – KudoCC 2014-11-04 12:14:55

+0

'i'初始化为'0' – 12oni 2014-11-04 17:20:16

回答

0

改为使用[actions addObject:@"X"]。如果数组没有元素,则不能在索引1处插入对象。

+0

当我使用'addObject'时,我的数组中只有一个对象。 – 12oni 2014-11-04 16:04:56