objective c - Purge x objects from Realm -


i want purge event log removing oldest event objects there doesn't seem straight forward way this. can fetch object sorted according how want them deleted, there no way limit - ie want first 100 in rlmresults.

rlmresults <event *> *events = [[event allobjects] sortedresultsusingproperty:@"id" ascending:yes]; 

if loop through , delete them index events updated go won't work.

rlmrealm *realm = [rlmrealm defaultrealm]; [realm beginwritetransaction]; (nsinteger = 0; < numbertopurge; i++) {     [realm deleteobject:events[i]]; } [realm commitwritetransaction]; 

i can put add them seperate array , use delete, way works seems bit clunky, there better way?

nsmutablearray *purgeevents = [[nsmutablearray alloc]  initwithcapacity:numbertopurge]; (nsinteger = 0; < numbertopurge; i++) {     [purgeevents addobject:events[i]]; }  rlmrealm *realm = [rlmrealm defaultrealm]; [realm beginwritetransaction]; [realm deleteobjects:events]; [realm commitwritetransaction]; 

no. @ present, method used of method of copying objects wish delete nsarray , passing parent rlmrealm object recommended way delete subset of objects @ moment. it's mentioned here in realm docs.

if you've got ideas on how think handled better, please feel free submit issue on the realm cocoa github!


Comments

Popular posts from this blog

scala - 'wrong top statement declaration' when using slick in IntelliJ -

c# - DevExpress.Wpf.Grid.InfiniteGridSizeException was unhandled -

PySide and Qt Properties: Connecting signals from Python to QML -