ResearchKit - Пространственная память - выпуск ORKESerializer - PullRequest
0 голосов
/ 22 января 2019

Возникла проблема с сериализацией в тесте пространственной памяти.У других пользователей была проблема с этим, но я не видел никаких решений.

Ошибка заключается в следующем:

*** Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [ORKSpatialSpanMemoryGameTouchSample integerValue]: нераспознанный селектор отправлен в экземпляр

Я получаю кодировку этой проблемы в JSON

Вот что я имею в ORKESerialization

ENTRY(ORKSpatialSpanMemoryGameTouchSample,
                 nil,
                 (@{
                    PROPERTY(timestamp, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(targetIndex, NSValue, NSObject, NO, nil, nil),
                    PROPERTY(correct, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(location, NSValue, NSObject, NO,
                             ^id(id value) { return value?dictionaryFromCGPoint(((NSValue *)value).CGPointValue):nil; },
                             ^id(id dict) { return [NSValue valueWithCGPoint:pointFromDictionary(dict)]; })
                    })),
           ENTRY(ORKSpatialSpanMemoryGameRecord,
                 nil,
                 (@{
                    PROPERTY(seed, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(sequence, NSNumber, NSArray, NO, nil, nil),
                    PROPERTY(gameSize, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(gameStatus, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(score, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(touchSamples, ORKSpatialSpanMemoryGameTouchSample, NSArray, NO,
                             ^id(id numeric) { return tableMapForward(((NSNumber *)numeric).integerValue, memoryGameStatusTable()); },
                             ^id(id string) { return @(tableMapReverse(string, memoryGameStatusTable())); }),
                    PROPERTY(targetRects, NSValue, NSArray, NO,
                             ^id(id value) { return value?dictionaryFromCGRect(((NSValue *)value).CGRectValue):nil; },
                             ^id(id dict) { return [NSValue valueWithCGRect:rectFromDictionary(dict)]; })
                    })),
           ENTRY(ORKSpatialSpanMemoryResult,
                 nil,
                 (@{
                    PROPERTY(score, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(numberOfGames, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(numberOfFailures, NSNumber, NSObject, NO, nil, nil),
                    PROPERTY(gameRecords, ORKSpatialSpanMemoryGameRecord, NSArray, NO, nil, nil)
                    })),

Что нужно изменить, чтобы это работало без ошибок?

...