我只是有一個簡單的代碼來練習對象C .. 我不知道爲什麼我可以這個「警告」? 我的代碼如下線程1:編程接收到的信號:「EXC_BAD_ACCESS」
#import <Foundation/Foundation.h>
@interface MyClass : NSObject {
@private
NSDate *mdate;
}
@property (retain) NSDate *mdate;
@end
==================================
#import "MyClass.h"
@implementation MyClass
@synthesize mdate;
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
mdate = [[NSDate date] autorelease];
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
@end
=============================================
#import <Foundation/Foundation.h>
#import "MyClass.h"
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
MyClass *mclass = [[MyClass alloc]init];
NSDate *myBirthday;
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"yyyy/MM/dd"];
myBirthday=[dateFormat dateFromString:@"1990/09/02"];
[mclass setMdate:myBirthday];
NSLog(@"My Birthday is %@",[mclass mdate]);
// insert code here...
NSLog(@"Hello, World!");
[mclass release];
//[dateFormat release];
[pool drain];
return 0;
}
在[pool drain] - >我跑了之後得到了消息。
對對象C我真的很新手。有人能解釋我錯過了什麼嗎? 我認爲這會導致我的內存管理(?) 順便說一句,我正在寫這個控制檯。
你不釋放池對象,這是內存泄漏,儘管應用程序直接在它之後終止,但最好釋放它而不是d下雨吧。釋放它會爲你消耗。 – 2011-06-11 13:06:50
事實上,'排水管'排出池並釋放它。該行代碼至少是正確的。 – bbum 2011-06-11 13:39:04