12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #import "RLMObject_Private.h"
- #import "RLMRealm_Private.hpp"
- #import "RLMUtil.hpp"
- #import <realm/link_view.hpp> // required by row.hpp
- #import <realm/row.hpp>
- class RLMObservationInfo;
- @interface RLMObjectBase () {
- @public
- realm::Row _row;
- RLMObservationInfo *_observationInfo;
- RLMClassInfo *_info;
- }
- @end
- id RLMCreateManagedAccessor(Class cls, RLMRealm *realm, RLMClassInfo *info) NS_RETURNS_RETAINED;
- static inline void RLMVerifyAttached(__unsafe_unretained RLMObjectBase *const obj) {
- if (!obj->_row.is_attached()) {
- @throw RLMException(@"Object has been deleted or invalidated.");
- }
- [obj->_realm verifyThread];
- }
- static inline void RLMVerifyInWriteTransaction(__unsafe_unretained RLMObjectBase *const obj) {
-
- RLMVerifyAttached(obj);
- if (!obj->_realm.inWriteTransaction) {
- @throw RLMException(@"Attempting to modify object outside of a write transaction - call beginWriteTransaction on an RLMRealm instance first.");
- }
- }
|