我有一个地址接口这样的:获取“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