我有一個地址接口這樣的:獲取「EXC_BAD_ACCESS」
@interface AddressCard : NSObject
{
NSString *name;
NSString *email;
}
@property (copy, nonatomic) NSString *name, *email;
-(void) print;
-(void) setName:(NSString *) theName andEmail:(NSString *) theEmail;
-(void) dealloc;
@end
和實施,:
#import "AddressCard.h"
@implementation AddressCard
@synthesize name, email;
-(void) setName:(NSString *) theName andEmail: (NSString *) theEmail
{
self.name = theName;
self.email = theEmail;
}
-(void) print
{
NSLog (@"==============================");
NSLog(@"| %-21s |", [self.name UTF8String]);
NSLog(@"| %-21s |", [self.email UTF8String]);
NSLog (@"==============================");
}
-(void) dealloc
{
[name release];
[email release];
[super dealloc];
}
@end
當我運行它,我把池放出時得到一個EXEC_BAD_ACCESS。我無法找到原因,並感謝任何幫助。這是我進入Objective-C的第一步,請耐心等待。
感謝 蘇尼特
我沒有看到任何會在您發佈的代碼中導致該錯誤的內容。我發現使用UTF8String而不是僅僅打印字符串本身是可疑的,但是這與任何正在耗盡的池不應該有任何關係。更可能的錯誤是在這個類被使用的地方。 – Chuck 2009-11-22 06:04:41