Я делаю приложение, которое использует Realm как автономную базу данных. Проблема в том, что когда я звоню Workout.allObjects()
, ничего не появляется. Я сделал некоторые отладки и нашел результаты нижеПроблема с пониманием allObjects() в Realm
Соответствующий код
class Workout: RLMObject {
dynamic var name: String?
dynamic var exercises: RLMArray = RLMArray(objectClassName: "Exercise")
dynamic var numberOfWorkouts = 0
convenience init(name: String) {
self.init()
self.name = name
}
}
func createWorkoutObject() {
let realm = RLMRealm.defaultRealm()
try! realm.transactionWithBlock {
workout = Workout()
}
}
At конце createWorkoutObject()
(с точки останова), я побежал
Так что, очевидно, является объектом тренировки , но Workout.allObjects()
, похоже, не видит этого.
Почему это? Я изо всех сил пытаюсь понять, что я делаю неправильно.
правый !! У меня было ощущение, что я что-то упустил, полностью забыл об этом. Благодаря! –
У меня есть вопрос, связанный с этим. Если я не вызываю объект realm.addObject (объект), удаляется ли этот объект, когда представление освобождается или оно неустойчиво в каком-то странном месте в Царстве? У меня есть подозрение, что он удаляется, но он хочет спросить –
Если вы не называете 'addObject', то ваш объект имеет такое же время жизни, что и любой другой объект Swift или Objective-C, и будет освобожден, если не останется никаких сильных ссылок на Это. – bdash