2010-05-29 76 views
0

我有这样的代码在我的重写的drawRect方法iphone越来越小时/分钟/秒应用程序崩溃

NSDate *date = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
unsigned int unitFlags = NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit;
NSDateComponents *comp = [calendar components:unitFlags fromDate:date];
NSInteger h = [comp hour];
NSInteger m = [comp minute];
NSInteger s = [comp second];
NSLog(@"%i,%i,%i", h,m,s);
NSLog(@"test");
[date release];
[calendar release];
[comp release];

我使用setNeedsDisplay从我的自定义的方法(基于每1个塞康后定时器)调用的drawRect。它只运行一次,然后应用程序自动退出。如果我注释掉所有代码并且只写
NSLog(@“test”);
然后应用程序工作正常,它会在每1秒后记录“测试”。

回答

0

您发布的所有对象都是自动发布的。你不应该明确地打电话给release

+0

如何找到哪一个是autoreleased? – coure2011 2010-05-29 08:00:16

+0

这些都在方法名称中。详情请阅读此文件:http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmObjectOwnership.html#//apple_ref/doc/uid/20000043-BEHDEDDB – warrenm 2010-05-29 15:26:41

相关问题