DBFILESWriteMode
Objective-C
@interface DBFILESWriteMode : NSObject <DBSerializable, NSCopying>
Swift
class DBFILESWriteMode : NSObject, DBSerializable, NSCopying
The WriteMode
union.
Your intent when writing a file to some path. This is used to determine what constitutes a conflict and what the autorename strategy is. In some situations, the conflict behavior is identical: (a) If the target path doesn’t refer to anything, the file is always written; no conflict. (b) If the target path refers to a folder, it’s always a conflict. © If the target path refers to a file with identical contents, nothing gets written; no conflict. The conflict checking differs in the case where there’s a file at the target path with contents different from the contents you’re trying to write.
This class implements the DBSerializable
protocol (serialize and
deserialize instance methods), which is required for all Obj-C SDK API route
objects.
-
Represents the union’s current tag state.
Declaration
Objective-C
@property (nonatomic, readonly) DBFILESWriteModeTag tag;
Swift
var tag: DBFILESWriteModeTag { get }
-
Overwrite if the given “rev” matches the existing file’s “rev”. The supplied value should be the latest known “rev” of the file, for example, from FileMetadata, from when the file was last downloaded by the app. This will cause the file on the Dropbox servers to be overwritten if the given “rev” matches the existing file’s current “rev” on the Dropbox servers. The autorename strategy is to append the string “conflicted copy” to the file name. For example, “document.txt” might become “document (conflicted copy).txt” or “document (Panda’s conflicted copy).txt”. - note: Ensure the
isUpdate
method returns true before accessing, otherwise a runtime exception will be raised.Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull update;
Swift
var update: String { get }
-
Initializes union class with tag state of “add”.
Description of the “add” tag state: Do not overwrite an existing file if there is a conflict. The autorename strategy is to append a number to the file name. For example, “document.txt” might become “document (2).txt”.
Declaration
Objective-C
- (nonnull instancetype)initWithAdd;
Swift
init(add: ())
Return Value
An initialized instance.
-
Initializes union class with tag state of “overwrite”.
Description of the “overwrite” tag state: Always overwrite the existing file. The autorename strategy is the same as it is for add.
Declaration
Objective-C
- (nonnull instancetype)initWithOverwrite;
Swift
init(overwrite: ())
Return Value
An initialized instance.
-
Initializes union class with tag state of “update”.
Description of the “update” tag state: Overwrite if the given “rev” matches the existing file’s “rev”. The supplied value should be the latest known “rev” of the file, for example, from FileMetadata, from when the file was last downloaded by the app. This will cause the file on the Dropbox servers to be overwritten if the given “rev” matches the existing file’s current “rev” on the Dropbox servers. The autorename strategy is to append the string “conflicted copy” to the file name. For example, “document.txt” might become “document (conflicted copy).txt” or “document (Panda’s conflicted copy).txt”.
Declaration
Objective-C
- (nonnull instancetype)initWithUpdate:(nonnull NSString *)update;
Swift
init(update: String)
Parameters
update
Overwrite if the given “rev” matches the existing file’s “rev”. The supplied value should be the latest known “rev” of the file, for example, from FileMetadata, from when the file was last downloaded by the app. This will cause the file on the Dropbox servers to be overwritten if the given “rev” matches the existing file’s current “rev” on the Dropbox servers. The autorename strategy is to append the string “conflicted copy” to the file name. For example, “document.txt” might become “document (conflicted copy).txt” or “document (Panda’s conflicted copy).txt”.
Return Value
An initialized instance.
-
Retrieves whether the union’s current tag state has value “add”.
Declaration
Objective-C
- (BOOL)isAdd;
Swift
func isAdd() -> Bool
Return Value
Whether the union’s current tag state has value “add”.
-
Retrieves whether the union’s current tag state has value “overwrite”.
Declaration
Objective-C
- (BOOL)isOverwrite;
Swift
func isOverwrite() -> Bool
Return Value
Whether the union’s current tag state has value “overwrite”.
-
Retrieves whether the union’s current tag state has value “update”.
Note
Call this method and ensure it returns true before accessing the
update
property, otherwise a runtime exception will be thrown.Declaration
Objective-C
- (BOOL)isUpdate;
Swift
func isUpdate() -> Bool
Return Value
Whether the union’s current tag state has value “update”.
-
Retrieves string value of union’s current tag state.
Declaration
Objective-C
- (nonnull NSString *)tagName;
Swift
func tagName() -> String
Return Value
A human-readable string representing the union’s current tag state.