如何将 NSDate 值插入 Cloud Firestore 文档
Posted
技术标签:
【中文标题】如何将 NSDate 值插入 Cloud Firestore 文档【英文标题】:How to insert NSDate value into a Cloud Firestore document 【发布时间】:2020-10-05 22:06:44 【问题描述】:如何将 NSDate 中的时间值插入 Cloud Firestore 文档?
我可以像这样插入当前时间,但我不确定如何将 NSDate
转换为 FIRFieldValue
表示。
NSMutableDictionary *item = [NSMutableDictionary new];
item[@"someDate"] = [FIRFieldValue fieldValueForServerTimestamp];
【问题讨论】:
【参考方案1】:向 Firestore 添加数据的最佳方式是使用字典的形式。
Firestore 文档(链接如下)提供了一个带有 NSDate
对象的示例,我已对其进行了修剪并包含在下面。
NSDictionary *docData = @
@"dateExample": [FIRTimestamp timestampWithDate:[NSDate date]]
;
[[[self.db collectionWithPath:@"data"] documentWithPath:@"one"] setData:docData
completion:^(NSError * _Nullable error)
if (error != nil)
NSLog(@"Error writing document: %@", error);
else
NSLog(@"Document successfully written!");
];
否则,Firestore 不支持存储自定义对象。有一些环形交叉路口使它非常平滑,但是...请参阅 prev stack overflow question 和 firestore documentation(滚动到自定义对象部分)
【讨论】:
以上是关于如何将 NSDate 值插入 Cloud Firestore 文档的主要内容,如果未能解决你的问题,请参考以下文章
Swift:无法将“NSDate”类型的值转换为预期的参数类型“NSDateComponents”
UILocalNotification - 在 NSDate 前 30 分钟触发