Program received signal: “EXC_BAD_ACCESS”

无人久伴 提交于 2019-12-12 09:43:55

问题


I have a string variable which stores date from date picker but when I use its value in other function I am getting error like Program received signal: “EXC_BAD_ACCESS”. Note: variable is globally defined.

code :

    - (void) changedDate: (UIDatePicker *) picker 
    {
     if (appDelegate.dateint == 8)
     {
     NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 

[dateFormatter setDateFormat:@"dd MMM, yyyy"];
     datestr=[dateFormatter stringFromDate:[dptpicker date]]; 
    NSLog(@"date:%@",datestr); 
    } 
    else if(appDelegate.dateint == 9) 
    { NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 

[dateFormatter setDateFormat:@"dd MMM, yyyy"]; 
    datestr1=[dateFormatter stringFromDate:[dptpicker date]] ;
     NSLog(@"date1:%@",datestr1);
     } 
    }

回答1:


You have to retain that string. This is the most likely reason.

Edit: The only reason why it is crashing is the bad pointer. The bad pointer = over-releasing the object. Just run your app with zombies enabled and you'll see the place where you're doing that. Check this http://www.markj.net/iphone-memory-debug-nszombie/




回答2:


Whenever there is a crash, post the backtrace.

Before you do, use "build and analyze" and fix any problems it identifies.

After doing that, if it still crashes, then do a pass with Zombie detection on and see if you are over-releasing something (which is likely, that code has an obvious over-release problem as is).

If it is still crashing, then we'll need to see more code....



来源:https://stackoverflow.com/questions/5163494/program-received-signal-exc-bad-access

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!