Я пытаюсь создать ценовой класс, который расширяет NSDecimalNumber, но при попытке выделить его и init он создает исключения. Любая идея, что может быть проблемой?Inheriting NSDecimalNumber
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Did you forget to nest alloc and initWithString: ?'
Price.h
#import <Foundation/Foundation.h>
@interface Price : NSDecimalNumber
+ (Price*)priceWithString:(NSString*)val;
@end
Price.m
#import "Price.h"
@implementation Price
- (NSString *)description {
return [[super description] stringByAppendingString:@" €"];
}
+ (Price*)priceWithString:(NSString*)val {
return [[Price alloc] initWithString:val];
}
@end
Edit: Даже голый класс не работает. Если я расширяю NSDecimalNumber, а затем пытаюсь выполнить alloc init, то такое же исключение. Я сдался при этом ...
Должен использовать 'instancetype' /' self'. – nhgrif
Где ваш метод initWithString: 'в классе' Price'? – dasblinkenlight