好了,這裏是我的代碼應用程序崩潰IBAction爲方法
-(IBAction)nextAction
{
dispatch_async(myQueue, ^{ [self plusOneDate]; });
}
-(void)plusOneDate
{
int hoursToAdd = 1;
// set up date components
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setHour:hoursToAdd];
// create a calendar
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *newDate2 = [gregorian dateByAddingComponents:components toDate:appStateDate options:0];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"YYYYMMddHH0000"];
dateString = [formatter stringFromDate:newDate2];
[formatter release];
appStateDate = newDate2;
newDate2 = nil;
}
它所做的是它增加了1小時到一個NSDate的對象(appStateDate),格式化,然後設置dateString變量。
每當我按下應用程序中的UIButton,連接到nextAction
,應用程序崩潰。 我嘗試刪除xib文件並創建一個新的。它沒有幫助,但仍然崩潰。
在調試模式:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '(null): unrecognized selector sent to class 0x6242690'
任何人誰知道爲什麼嗎?我感到沮喪。
爲什麼不使用調試器來查找應用崩潰的確切步驟? –
我不熟悉這個語法'^ {[self plusOneDate]; }'。你確定沒問題嗎? – Noam
這就是Objective-C 2.0的塊語法。認爲匿名關閉。它在Apple的GCC以及clang編譯器(適用於所有人)中都可用。 – jer