Я пытаюсь создать собственный объект, который просто наследует класс NSString и переопределяет метод «описание».
Однако при компиляции я получаю предупреждение:
Несовместимые типы указателей, инициализирующие «OverrideTester *» с выражением типа «NSString *»
Вот мой код:
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