The Objective-C API has been updated and your code will break!
RLMTable
objects can only be created with anRLMRealm
object.- Renamed
RLMContext
toRLMTransactionManager
- Renamed
RLMContextDidChangeNotification
toRLMRealmDidChangeNotification
- Renamed
contextWithDefaultPersistence
tomanagerForDefaultRealm
- Renamed
contextPersistedAtPath:
tomanagerForRealmWithPath:
- Renamed
realmWithDefaultPersistence
todefaultRealm
- Renamed
realmWithDefaultPersistenceAndInitBlock
todefaultRealmWithInitBlock
- Renamed
find:
tofirstWhere:
- Renamed
where:
toallWhere:
- Renamed
where:orderBy:
toallWhere:orderBy:
- Added
countWhere:
onRLMTable
- Added
sumOfColumn:where:
onRLMTable
- Added
averageOfColumn:where:
onRLMTable
- Added
minOfProperty:where:
onRLMTable
- Added
maxOfProperty:where:
onRLMTable
- Added
toJSONString
onRLMRealm
,RLMTable
andRLMView
- Added support for
NOT
operator in predicates - Added support for default values
- None.
TightDB is now Realm! The Objective-C API has been updated and your code will break!
- All references to TightDB have been changed to Realm.
- All prefixes changed from
TDB
toRLM
. TDBTransaction
andTDBSmartContext
have merged intoRLMRealm
.- Write transactions now take an optional rollback parameter (rather than needing to return a boolean).
addColumnWithName:
and variant methods now return the index of the newly created column if successful,NSNotFound
otherwise.
createTableWithName:columns:
has been added toRLMRealm
.- Added keyed subscripting for RLMTable's first column if column is of type RLMPropertyTypeString.
setRow:atIndex:
has been added toRLMTable
.RLMRealm
constructors now have variants that take an writable initialization block- New object interface - tables created/retrieved using
tableWithName:objectClass:
return custom objects
- None.
contextWithPersistenceToFile:error:
renamed tocontextPersistedAtPath:error:
inTDBContext
readWithBlock:
renamed toreadUsingBlock:
inTDBContext
writeWithBlock:error:
renamed towriteUsingBlock:error:
inTDBContext
readTable:withBlock:
renamed toreadTable:usingBlock:
inTDBContext
writeTable:withBlock:error:
renamed towriteTable:usingBlock:error:
inTDBContext
findFirstRow
renamed toindexOfFirstMatchingRow
onTDBQuery
.findFirstRowFromIndex:
renamed toindexOfFirstMatchingRowFromIndex:
onTDBQuery
.- Return
NSNotFound
instead of -1 when appropriate. - Renamed
castClass
tocastToTytpedTableClass
onTDBTable
. removeAllRows
,removeRowAtIndex
,removeLastRow
,addRow
andinsertRow
methods on table now return void instead of BOOL.
- A
TDBTable
can now be queried usingwhere:
andwhere:orderBy:
takingNSPredicate
andNSSortDescriptor
as arguments. - Added
find:
method onTDBTable
to find first row matching predicate. contextWithDefaultPersistence
class method added toTDBContext
. Will create a context persisted to a file in app/documents folder.renameColumnWithIndex:to:
has been added toTDBTable
.distinctValuesInColumnWithIndex
has been added toTDBTable
.dateIsBetween::
,doubleIsBetween::
,floatIsBetween::
andintIsBetween::
have been added toTDBQuery
.- Column names in Typed Tables can begin with non-capital letters too. The generated
addX
selector can look odd. For example, a table with one column with nameage
, appending a new row will look like[table addage:7]
. - Mixed typed values are better validated when rows are added, inserted, or modified as object literals.
addRow
,insertRow
, and row updates can be done using objects derived fromNSObject
.where
has been added toTDBView
andTDBViewProtocol
.- Adding support for "smart" contexts (
TDBSmartContext
).
- Modifications of a
TDBView
andTDBQuery
now throw an exception in a readtransaction.
The Objective-C API has been updated and your code will break!
Of notable changes a fast interface has been added.
This interface includes specific methods to get and set values into Tightdb.
To use these methods import <Tightdb/TightdbFast.h>
.
getTableWithName:
renamed totableWithName:
inTDBTransaction
.addColumnWithName:andType:
renamed toaddColumnWithName:type:
inTDBTable
.columnTypeOfColumn:
renamed tocolumnTypeOfColumnWithIndex
inTDBTable
.columnNameOfColumn:
renamed tonameOfColumnWithIndex:
inTDBTable
.addColumnWithName:andType:
renamed toaddColumnWithName:type:
inTDBDescriptor
.- Fast getters and setters moved from
TDBRow.h
toTDBRowFast.h
.
- Added
minDateInColumnWithIndex
andmaxDateInColumnWithIndex
toTDBQuery
. - Transactions can now be started directly on named tables.
- You can create dynamic tables with initial schema.
TDBTable
andTDBView
now have a shared protocol so they can easier be used interchangeably.
- Fixed bug in 64 bit iOS when inserting BOOL as NSNumber.
- Typed interface Cursor has now been renamed to Row.
- TDBGroup has been renamed to TDBTransaction.
- Header files are renamed so names match class names.
- Underscore (_) removed from generated typed table classes.
- TDBBinary has been removed; use NSData instead.
- Underscope (_) removed from generated typed table classes.
- Constructor for TDBContext has been renamed to contextWithPersistenceToFile:
- Table findFirstRow and min/max/sum/avg operations has been hidden.
- Table.appendRow has been renamed to addRow.
- getOrCreateTable on Transaction has been removed.
- set*:inColumnWithIndex:atRowIndex: methods have been prefixed with TDB
- *:inColumnWithIndex:atRowIndex: methods have been prefixed with TDB
- addEmptyRow on table has been removed. Use [table addRow:nil] instead.
- TDBMixed removed. Use id and NSObject instead.
- insertEmptyRow has been removed from table. Use insertRow:nil atIndex:index instead.
- Added firstRow, lastRow selectors on view.
- firstRow and lastRow on table now return nil if table is empty.
- getTableWithName selector added on group.
- getting and creating table methods on group no longer take error argument.
- [TDBQuery parent] and [TDBQuery subtable:] selectors now return self.
- createTable method added on Transaction. Throws exception if table with same name already exists.
- Experimental support for pinning transactions on Context.
- TDBView now has support for object subscripting.
- None.
The Objective-C API has been updated and your code will break!
- Most selectors have been renamed in the binding!
- Prepend TDB-prefix on all classes and types.
- Return types and parameters changed from size_t to NSUInteger.
- Adding setObject to TightdbTable (t[2] = @[@1, @"Hello"] is possible).
- Adding insertRow to TightdbTable.
- Extending appendRow to accept NSDictionary.
- None.
The Objective-C API has been updated and your code will break!
- addRow renamed to addEmptyRow
- Adding a simple class for version numbering.
- Adding get-version and set-version targets to build.sh.
- tableview now supports sort on column with column type bool, date and int
- tableview has method for checking the column type of a specified column
- tableview has method for getting the number of columns
- Adding methods getVersion, getCoreVersion and isAtLeast.
- Adding appendRow to TightdbTable.
- Adding object subscripting.
- Adding method removeColumn on table.
- None.
Template follows:
?? summary
- None.
- None.
- None.