我正在尝试创建一个简单地继承 NSString 类并覆盖“描述”方法的自定义对象。
然而,当我编译时,我收到一个警告:
使用“NSString *”类型的表达式初始化“OverrideTester *”的不兼容指针类型
这是我的代码:
主文件
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
#import <Foundation/NSAutoreleasePool.h>
#import "OverrideTester.h"
int main (int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString *str = @"Programming is fun";
OverrideTester *strOverride = @"Overriding is fun";
NSLog (@"%@", str);
NSLog (@"%@", strOverride);
[pool drain];
return 0;
}
覆盖测试器.h
#import <Foundation/Foundation.h>
@interface OverrideTester : NSString
-(void) description;
@end
OverrideTester.m
#import "OverrideTester.h"
@implementation OverrideTester
-(void) description
{
NSLog(@"DESCRIPTION!\n");
}
@end