Objective c 程序接收信号“;sigabrt&x201D;

Objective c 程序接收信号“;sigabrt&x201D;,objective-c,ios,Objective C,Ios,我收到main.m上的程序接收信号“sigabrt” - (IBAction)segmentControl:(id)sender { NSTimeInterval oneUnit=(60*60*24*3); //NSTimeInterval oneUnit1=(60*60*24*60); switch (self.ydm.selectedSegmentIndex) { case 0: for (i=0; i<(

我收到main.m上的程序接收信号“sigabrt”

- (IBAction)segmentControl:(id)sender {

     NSTimeInterval oneUnit=(60*60*24*3);
     //NSTimeInterval oneUnit1=(60*60*24*60);

     switch (self.ydm.selectedSegmentIndex) {

         case 0:
             for (i=0; i<([forex count]); i++) { //It does not go next step
                 NSTimeInterval x=oneUnit*i/2;
                 i++;
                 id y=[NSNumber numberWithFloat:[[forex objectAtIndex:i] floatValue]]; 
                  [contentArray addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:[NSDecimalNumber numberWithFloat:x],@"x",y,@"y", nil]];
                  self.dataForPlot=contentArray;
             }
             break;

         default:
             break;
}
-(iAction)段控制:(id)发送方{
n时间间隔单位=(60*60*24*3);
//NSTimeInterval oneUnit1=(60*60*24*60);
开关(self.ydm.selectedSegmentIndex){
案例0:

对于(i=0;iUpdate):首先尝试这个

改变

case 0:
         for (i=0; i<([forex count]); i++) { //It does not go next step
案例0:

对于(i=0;i我想问题是因为forex。它似乎是自动删除的。请确保在访问它时它是可用的。您应该在创建它时保留它

在对问题的评论后编辑:

只要换一条线

forex=[(NSString *)[Global soapResults] componentsSeparatedByString:@","];
就这样,

forex=[[(NSString *)[Global soapResults] componentsSeparatedByString:@","] retain];

您是否尝试过中断并检查它得到SIGBART的行?是的,对于(i=0;i@Priya,你如何创建数组外汇?@Priya-你能告诉我们什么(如果有的话)控制台中显示了吗?我猜是抛出了一个异常,您将在那里看到它的详细信息。您确定contentArray是
NSMutableArray
,而不是
NSArray
?如果是这样,那么它就不会编译,更不用说运行了。虽然我不知道
I
在他们的代码中声明在哪里。是的……我知道。。.但仍然..可能只有两个问题..我发布了其中一个的答案,,另一个是空堆栈..让我们看看谁是对的???:我不认为缺少int是这里的问题,因为似乎@Priya在这里键入了代码,而不是从她的项目中复制的。@Shubhank-但这不会是一个问题,因为他得到了SIGABRT。所以我们知道这个应用程序有compi我想你是对的,我希望现在没有人反对我。
for (int i=0; i<([forex count]); i++)
forex=[(NSString *)[Global soapResults] componentsSeparatedByString:@","];
forex=[[(NSString *)[Global soapResults] componentsSeparatedByString:@","] retain];