我有这个界面:
#import <Foundation/Foundation.h>
@interface Cards : NSObject { NSString* effect; NSString* image; }
-(NSString*) effect;
-(NSString*) image;
-(void) setEffect: (NSString*) effect2;
-(void) setImage: (NSString*) image2;
@end
而这个实现:
#import "Cards.h"
@implementation Cards
-(NSString*) effect
{
return [effect autorelease];
}
-(NSString*) image
{
return [image autorelease];
}
-(void) setEffect: (NSString*) effect2
{
effect = [[NSString alloc]initWithString:effect2];
}
-(void) setImage: (NSString*) image2
{
image = [[NSString alloc]initWithString:@""];
}
-(void) dealloc
{
[effect release];
[image release];
[super dealloc];
}
@end
现在,如果我制作一个 Cards 对象,例如 Cards* card 然后我像这样运行方法 setEffect: [card setEffect:@""]; 它编译但给了我一个运行时错误。有谁知道为什么?提前致谢!