NSStringクラスを継承し、「description」メソッドをオーバーライドするカスタムオブジェクトを作成しようとしています。
ただし、コンパイルすると、次の警告が表示されます。
タイプ「NSString*」の式で「OverrideTester*」を初期化する互換性のないポインター型
これが私のコードです:
main.m
#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;
}
OverrideTester.h
#import <Foundation/Foundation.h>
@interface OverrideTester : NSString
-(void) description;
@end
OverrideTester.m
#import "OverrideTester.h"
@implementation OverrideTester
-(void) description
{
NSLog(@"DESCRIPTION!\n");
}
@end