allow setting of non-persisted properties

This commit is contained in:
Ari Lazier 2016-05-03 13:05:48 -07:00
parent 4fa35b7a12
commit d26924e2f9
2 changed files with 19 additions and 1 deletions

View File

@ -110,7 +110,12 @@ void RealmObject<T>::get_property(ContextType ctx, ObjectType object, const Stri
template<typename T>
bool RealmObject<T>::set_property(ContextType ctx, ObjectType object, const String &property, ValueType value) {
auto realm_object = get_internal<T, RealmObjectClass<T>>(object);
realm_object->set_property_value(ctx, property, value, true);
try {
realm_object->set_property_value(ctx, property, value, true);
}
catch (InvalidPropertyException &ex) {
return false;
}
return true;
}

View File

@ -456,4 +456,17 @@ module.exports = BaseTest.extend({
obj.doubleCol;
});
},
testIgnoredProperties: function() {
var realm = new Realm({schema: [schemas.TestObject]});
var obj;
realm.write(function() {
obj = realm.create('TestObject', {doubleCol: 1, ignored: true});
});
TestCase.assertEqual(obj.doubleCol, 1);
TestCase.assertEqual(obj.ignored, undefined);
obj.ignored = true;
TestCase.assertEqual(obj.ignored, true);
}
});