swift: EXC_BAD_ACCESS с использованием Realm и FolioReaderKit

Я установил FolioReaderKit с помощью Cocoapods для чтения книги epub. И пытаюсь выделить текст и добавить его в highlights list. Но когда это делаю то получаю эту ошибку и мое приложение вылетает:

Thread 1: EXC_BAD_ACCESS (code=257, address=0x41c4a1c96ae55d46)

строка:

value = RLMGetOptional(static_cast<RLMOptionalBase *>(object_getIvar(obj, prop.swiftIvar)));

в RLMAccessor.mm:

id RLMAccessorContext::propertyValue(__unsafe_unretained id const obj, size_t propIndex,
                                     __unsafe_unretained RLMProperty *const prop) {
    // Property value from an NSArray
    if ([obj respondsToSelector:@selector(objectAtIndex:)]) {
        return propIndex < [obj count] ? [obj objectAtIndex:propIndex] : nil;
    }

    // Property value from an NSDictionary
    if ([obj respondsToSelector:@selector(objectForKey:)]) {
        return [obj objectForKey:prop.name];
    }

    // Property value from an instance of this object type
    id value;
    if ([obj isKindOfClass:_info.rlmObjectSchema.objectClass] && prop.swiftIvar) {
        if (prop.array) {
            return static_cast<RLMListBase *>(object_getIvar(obj, prop.swiftIvar))._rlmArray;
        }
        else if (prop.swiftIvar == RLMDummySwiftIvar) {
            // FIXME: An invalid property which we're pretending is nil until 4.0
            // https://github.com/realm/realm-cocoa/issues/5784
            return NSNull.null;
        }
        else { // optional
            value = RLMGetOptional(static_cast<RLMOptionalBase *>(object_getIvar(obj, prop.swiftIvar)));
        }
    }
    else {
    // Property value from some object that's KVC-compatible
        value = RLMValidatedValueForProperty(obj, [obj respondsToSelector:prop.getterSel] ? prop.getterName : prop.name,
                                             _info.rlmObjectSchema.className);
    }
    return value ?: NSNull.null;
}

Как это исправить?


Ответы (0 шт):