Нераспознанная ошибка экземпляра селектора для метода Objective C - PullRequest
0 голосов
/ 23 марта 2019

Я просто делаю простой публичный метод в пользовательском классе, но всякий раз, когда я создаю класс и вызываю метод в ViewController, я получаю это исключение.

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PTask testMethod]: unrecognized selector sent to instance 0x600003316300

Я читал, что это какая-то проблема с памятью, но я не обязательно знаю, как ее исправить.Как ни странно, в этом классе есть другие методы получения / установки, но они не подвержены этой проблеме.

Я пытался вместо этого выполнить @dynamic, но он продолжает выдавать ту же ошибку.

Вот класс, с которым у меня проблемы:

Task.h

#import <CoreData/CoreData.h>
#import <Foundation/Foundation.h>

@interface Task : NSManagedObject

@property (nonatomic, strong) NSString *title;
//Deadline
//@property (nonatomic, strong) NSString *desc;
@property (nonatomic) double priority;
@property (nonatomic) double percentage;

- (void) testMethod;
@end

Task.m

#import "Task.h"

@implementation Task {
    NSDate *deadline;
}

@dynamic title;
@dynamic priority;
@dynamic percentage;

- (instancetype)init
{
    self = [super init];
    if (self) {
        deadline = [NSDate date];
    }
    return self;
}

- (void)testMethod {
    NSLog(@"HELLO!");
}
@end

1 Ответ

0 голосов
/ 28 марта 2019

ОК, так что, по-видимому, я сделал упс, и случилось то, что я определил, что никогда не определял крайний срок в NSManagedObject Entity xcodedatamodeld, поэтому была выдана ошибка. Определение существовало в моем классе, но не существовало в определении NSManagedEntity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...