diff --git a/source/includes/string-sort-and-query-limitations-note.rst b/source/includes/string-sort-and-query-limitations-note.rst new file mode 100644 index 0000000000..059c68b5b4 --- /dev/null +++ b/source/includes/string-sort-and-query-limitations-note.rst @@ -0,0 +1,5 @@ +.. note:: + + String sorting and case-insensitive queries are only supported for + character sets in 'Latin Basic', 'Latin Supplement', 'Latin Extended + A', and 'Latin Extended B' (UTF-8 range 0-591). diff --git a/source/sdk/ios/data-types/supported-property-types.txt b/source/sdk/ios/data-types/supported-property-types.txt index a368f08ee1..9f79f82a96 100644 --- a/source/sdk/ios/data-types/supported-property-types.txt +++ b/source/sdk/ios/data-types/supported-property-types.txt @@ -145,6 +145,7 @@ Property Cheat Sheet ``CGFloat`` properties are discouraged, as the type is not platform independent. + Unique Identifiers ------------------ @@ -202,3 +203,22 @@ When using the ``AnyRealmValue`` mixed data type, keep these things in mind: - String properties do not match numeric queries. For example, in a mixed type field, 1 does not match "1". "1" does not match 1, 1.0, or true. +.. _ios-size-limitations: + +Size Limitations +---------------- + +Data and string properties cannot hold more than 16MB. To store +larger amounts of data, either: + +- Break the data into 16MB chunks, or +- Store data directly on the file system and store paths to the files in the {+realm+}. + +{+service-short+} throws a runtime exception if your app attempts to +store more than 16MB in a single property. + +To avoid size limitations and a performance impact, it is best not to +store large blobs, such as image and video files, directly in a +{+realm+}. Instead, save the file to a file store and keep only the +location of the file and any relevant metadata in the {+realm+}. + diff --git a/source/sdk/ios/examples/define-a-realm-object-model.txt b/source/sdk/ios/examples/define-a-realm-object-model.txt index 0abe0edbe5..cd123a0f2f 100644 --- a/source/sdk/ios/examples/define-a-realm-object-model.txt +++ b/source/sdk/ios/examples/define-a-realm-object-model.txt @@ -48,6 +48,10 @@ Define a New Object Type .. literalinclude:: /examples/generated/code/start/ObjectModels.codeblock.define-a-model.m :language: objectivec +.. note:: + + Class names are limited to a maximum of 57 UTF-8 characters. + .. _ios-declare-a-property: Declare Properties @@ -90,6 +94,10 @@ Declare Properties .. literalinclude:: /examples/generated/code/start/ObjectModels.codeblock.array-declaration.m :language: objectivec +.. note:: + + Property names are limited to a maximum of 63 UTF-8 characters. + .. _ios-specify-an-optional-required-property: Specify an Optional/Required Property diff --git a/source/sdk/ios/examples/filter-data.txt b/source/sdk/ios/examples/filter-data.txt index ce27d4bdac..f8a8eae549 100644 --- a/source/sdk/ios/examples/filter-data.txt +++ b/source/sdk/ios/examples/filter-data.txt @@ -383,6 +383,7 @@ Regex-like wildcards allow more flexibility in search. .. literalinclude:: /examples/generated/code/start/QueryEngine.codeblock.string-operators.swift :language: swift +.. include:: /includes/string-sort-and-query-limitations-note.rst Aggregate Operators ~~~~~~~~~~~~~~~~~~~ diff --git a/source/sdk/ios/examples/read-and-write-data.txt b/source/sdk/ios/examples/read-and-write-data.txt index c883ffd72b..9a82ead4e2 100644 --- a/source/sdk/ios/examples/read-and-write-data.txt +++ b/source/sdk/ios/examples/read-and-write-data.txt @@ -191,7 +191,6 @@ guarantees a consistent order of results if you explicitly sort them. ` with the desired key path to sort by. - .. literalinclude:: /examples/generated/code/start/ReadWriteData.codeblock.sort.m :language: objectivec @@ -202,6 +201,8 @@ guarantees a consistent order of results if you explicitly sort them. `, use dot-notation as if it were in a regular, nested object. +.. include:: /includes/string-sort-and-query-limitations-note.rst + .. _ios-query-a-relationship: Query a Relationship diff --git a/source/sdk/ios/fundamentals/realms.txt b/source/sdk/ios/fundamentals/realms.txt index b0ae08c9ef..510dd5318e 100644 --- a/source/sdk/ios/fundamentals/realms.txt +++ b/source/sdk/ios/fundamentals/realms.txt @@ -188,10 +188,19 @@ comparable SQLite database. Unexpected file growth may be related to the .. tip:: Avoid pinning old Realm transactions {+backend-short+} ties read transaction lifetimes to the memory lifetime - of {+backend-short+} instances. Avoid “pinning” old Realm transactions. + of {+backend-short+} instances. Avoid "pinning" old Realm transactions. Use auto-refreshing {+backend-short+}s, and wrap the use of Realm APIs from background threads in explicit autorelease pools. +.. note:: + + A large {+realm+} file can impact the performance and reliability of + your app. Any single {+realm+} file cannot be larger than the amount + of memory your application would be allowed to map in iOS. This limit + depends on the device and on how fragmented the memory space is at + that point in time. If you need to store more data, you can map it + over multiple {+realm+} files. + Threading ~~~~~~~~~