TXCacheUpdatePolicy
@objc
public enum TXCacheUpdatePolicy : Int
Update policy that specifies the way that the internal cache is updated with new translations.
You can find an easy to understand table containing a number of cases and how each policy updates the cache below:
| Key || Cache | New || Replace All | Update using Translated |
|-----||-------|------||---------------|--------------------------------|
| a || "a" | - || - | "a" |
| b || "b" | "B" || "B" | "B" |
| c || "c" | "" || "" | "c" |
| d || "" | - || - | "" |
| e || "" | "E" || "E" | "E" |
| f || - | "F" || "F" | "F" |
| g || - | "" || "" | - |
Here’s an example on how to read the table above:
- Given a string with
key="c" - and a cache that has
"c"as the stored value for this key ("c" -> "c") - if an empty translation arrives for this string (
"")- if policy is
.replaceAll, then the cache will be updated so that ("c" -> "") - in contrast to that, if policy is
.updateUsingTranslated, then the cache will stay as is ("c" -> "c"), because the new translation is empty.
- if policy is
A "-" value means that the respective key does not exist. For example:
- Given a string with
key="f" - and a cache that has no entry with
"f"as a key - if a translation arrives for this string (
"f" -> "F")- if policy is
.replaceAll, then the cache will be updated by adding a new entry so that ("f" -> "F") - if policy is
.updateUsingTranslated, then the same will happen, since the new translation is not empty
- if policy is
-
Discards the existing cache entries completely and populates the cache with the new entries, even if they contain empty translations.
Declaration
Swift
case replaceAll -
Updates the existing cache with the new entries that have a non-empty translation, ignoring the rest.
Declaration
Swift
case updateUsingTranslated
View on GitHub