Jeg har skaffet meg et fantastisk verktøy for å gjøre databaseprogrammering på iPhone som heter Sensible Table View (STV) og er fra Sensible Cocoa.
Men da jeg skulle igang med litt mer avanserte filter og tilhørende summeringer, ble jeg sittende fast, ikke et par timer, men en hel uke. Dokumentasjonen av Apples Core Data synes jeg er svært akademisk, og de fem bøkene jeg har om dette er dårlige.
Hintene som hjalp meg fant jeg på Stack Overflow etter å ha søkt etter @sum in core data på Google.
Sammen med Apples dokumentasjon klarte jeg tilslutt å løse problemet innenfor rammene av det nye verktøyet. Etter en ukes slit, ser løsningen latterlig enkel ut. Her er den:
- Predicate: bare bruk løsningen i STV! Pass bare på å lage predikatet slik:
filterPredicate:[NSPredicate predicateWithFormat:@“account like ‘kreditt’”]];
- summering er så uskyldig som dette:
NSNumber *balance = [transactionSection.items valueForKeyPath: @“@sum.amount”];
self.title = balance.stringValue;
Dette er vidunderlig! Jeg kan bruke predikater i STV til å lage små og pene datasets, og beregne summen på datasettet i ettertid. Plutselig er det igjen morsomt å være database-programmerer!