Я пытаюсь настроить NSObject
для принятия дополнительного параметра, однако всякий раз, когда я пытаюсь добавить это, я получаю:
NSInvalidArgumentException: -[TEATimeRange initWithStart:end:fill:]: unrecognized selector sent to instance`
Вот файл .h
:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface TEATimeRange : NSObject
@property (nonatomic) NSDate *start;
@property (nonatomic) NSDate *end;
@property (nonatomic) IBInspectable UIColor *fill;
+ (instancetype)timeRangeWithStart:(NSDate *)startTime end:(NSDate *)endTime fill:(UIColor *)fillColor;
- (id)initWithStart:(NSDate *)startTime end:(NSDate *)endTime fill:(UIColor *)fillColor;
@end
и файл .m
:
#import "TEATimeRange.h"
@implementation TEATimeRange
+ (instancetype)timeRangeWithStart:(NSDate *)startTime end:(NSDate *)endTime fill:(UIColor *)fillColor
{
return [[TEATimeRange alloc] initWithStart:startTime end:endTime fill:fillColor];
}
- (id)initWithStart:(NSDate *)startTime end:(NSDate *)endTime fill:(UIColor *)fillColor
{
self = [super init];
if (self) {
_start = startTime;
_end = endTime;
_fill = fillColor;
}
return self;
}
@end
Экземпляр вызова (в Swift):
TEATimeRange(start: someDateTime, end: someDateTime?.addingTimeInterval(TimeInterval(someTime)), fill: .orange)
Если я удаляю ссылки на fill:
, он работает как положено, поэтому я не понимаю, почему.
Я пытался выполнить SO-поиск, но, поскольку у меня есть только 3-дневный опыт разработки под iOS, я не смог найти никакого решения, поэтому любая помощь будет принята с благодарностью. (Даже если это глупо!)