Firebase setValue无法在IOS 10,Swift 3中运行(Firebase setValue not working in IOS 10, Swift 3)
当我尝试将评论保存到Firebase时,我的应用程序崩溃了。 此代码在Xcode 8更新之前完美运行:
func saveNewComment(){ //get date let date = Date() let calendar = Calendar.current let components = (calendar as NSCalendar).components([.day,.month,.year], from: date) let year = components.year let month = components.month let day = components.day //format month let dateFormatter: DateFormatter = DateFormatter() let months = dateFormatter.shortMonthSymbols let monthSymbol = months?[month!-1] let todaysDate = "\(day) \(monthSymbol),\(year)" //trim comment let comment = textView.text let trimmedComment = comment?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) //save new comment let commentRef = ref.child("Stores").child(getRef!).child("CommentArray").childByAutoId() commentRef.setValue([ "Comment": trimmedComment, "Date": todaysDate ]) self.delegate?.commentSubmitted(true)//delegate self.dismiss(animated: true, completion: nil)//dismiss view }
显然,错误是当我尝试使用“setValue”来设置这些键值对时。 任何想法为什么会发生这种情况?
提前致谢。
My app is crashing when I try to save a comment to Firebase. This code was working perfectly before the Xcode 8 update:
func saveNewComment(){ //get date let date = Date() let calendar = Calendar.current let components = (calendar as NSCalendar).components([.day,.month,.year], from: date) let year = components.year let month = components.month let day = components.day //format month let dateFormatter: DateFormatter = DateFormatter() let months = dateFormatter.shortMonthSymbols let monthSymbol = months?[month!-1] let todaysDate = "\(day) \(monthSymbol),\(year)" //trim comment let comment = textView.text let trimmedComment = comment?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) //save new comment let commentRef = ref.child("Stores").child(getRef!).child("CommentArray").childByAutoId() commentRef.setValue([ "Comment": trimmedComment, "Date": todaysDate ]) self.delegate?.commentSubmitted(true)//delegate self.dismiss(animated: true, completion: nil)//dismiss view }
Apparently the error is when i try to use "setValue" to set those key value pairs. Any ideas why is this happening?
Thanks in advance.
原文:
更新时间:2022-05-16 20:05
最满意答案
由于您没有使用分区约定,因此您必须手动添加每个分区。
- 表格位置无关紧要,但为了清楚起见,请保留现状。
- 我建议使用
date
类型作为分区或至少使用ISO格式YYYY-MM-DD
。- 我不会使用
date
作为列名(也不是int
,string
等)。
PARTITIONED BY (dt date)
alter table user add if not exists partition (dt=date '2017-03-14') location '/user/hadoop/output/FDQM9N4RCQ3V2ZYT/20170314'; alter table user add if not exists partition (dt=date '2017-03-15') location '/user/hadoop/output/FDPWMUVVBO2X74CA/20170315'; alter table user add if not exists partition (dt=date '2017-03-16') location '/user/hadoop/output/FDPGNC0ENA6QOF9G/20170316';
Since you are not using the partition convention you'll have to add each partition manually.
- The table location does not matter, but for clarity leave it as it is now.
- I would recommend to use
date
type for the partition or at least the ISO format,YYYY-MM-DD
.- I would not use
date
as a column name (norint
,string
etc.).
PARTITIONED BY (dt date)
alter table user add if not exists partition (dt=date '2017-03-14') location '/user/hadoop/output/FDQM9N4RCQ3V2ZYT/20170314'; alter table user add if not exists partition (dt=date '2017-03-15') location '/user/hadoop/output/FDPWMUVVBO2X74CA/20170315'; alter table user add if not exists partition (dt=date '2017-03-16') location '/user/hadoop/output/FDPGNC0ENA6QOF9G/20170316';
相关问答
更多-
在你的加载查询'分区'拼写不匹配,否则很好。我用正确的代码运行相同,它给出输出。 LOAD DATA LOCAL INPATH'./babafile.txt'进入表BABA2分区(年份= 2015年); In your Load query 'partition' spelling is mismatch and else is fine.I ran same with correct code and it gives output. LOAD DATA LOCAL INPATH './babafile. ...
-
假设已经使用类似的东西创建了hive外部表, CREATE EXTERNAL TABLE external_parquet(c1 INT, c2 STRING, c3 TIMESTAMP) STORED AS PARQUET LOCATION '/user/etl/destination'; -- location is some directory on HDFS 并且您在Spark中有一个现有的dataFrame / RDD,您想要编写。 import sqlContext.implic ...
-
是的,有一种方法: INSERT OVERWRITE TABLE
PARTITION( ) SELECT 在执行此类操作之前,需要将hive.exec.dynamic.partition设置为true 。 请在此处查看详细信息: Hive语言手册DML - 动态分区 Yes, there is a way: INSERT OVERWRITE TABLE PARTITION( Hive从多个目录加载数据并动态创建分区(Hive load data from multiple directories and dynamically create partitions)[2022-05-12]
msck维修台怎么样? 这应该会自动加载子目录中的所有分区。 请看: https : //cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RecoverPartitions(MSCKREPAIRTABLE) How about a msck repair table ? This should automatically load all the partitions in the subdirect ...我不这么认为,正如在更改位置所说的那样。 但无论如何,我认为您的查询作为一些错误和正确的脚本将是: CREATE EXTERNAL TABLE IF NOT EXISTS a.b (line STRING) COMMENT 'abc' PARTITIONED BY (day String) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\n' STORED AS TEXTFILE ; I don't think so, as said in alter l ...无法使用S3位置恢复Shark for Hive表中的分区(Unable to recover partitions in Shark for Hive table with S3 location)[2023-09-26]
我与AWS进行了交谈,他们说我目前唯一的选择就是坚持使用Hive,因为MSCK REPAIR TABLE在寻址S3中的表时遇到了一些问题(这就是为什么他们添加了ALTER TABLE RECOVER PARTITION命令)。 I spoke to AWS and they said that my only option at the moment is to stick with Hive as MSCK REPAIR TABLE has some issues when addressing a ta ...好的,我找到了hive变量功能。 所以我按照以下方式传递cli中的位置 hive -d s3file=s3://BlobStore/Exports/APKsCollection_test/`date +%F`/ 然后在hive命令中使用该变量 CREATE EXTERNAL TABLE s3_export (...) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '${s3File}'; OK, I found the hive varia ...如何在hive中获取表是由动态还是静态分区的(How to get whether the table is partitioned by dynamic or static in hive)[2023-12-14]
动态和静态分区之间没有区别。 这就是分区的创建方式。 动态 - 表示在insert overwrite table partition...语句执行期间创建insert overwrite table partition... 。 静态意味着使用alter table add partition... statement创建alter table add partition... 。 元数据中没有此类属性,因为使用INSERT或ALTER创建的分区之间没有区别。 可以在表中动态创建分区,其中分区已经静态创建 ...外部表的DDL中的location子句用于指定数据需要存储的hdfs位置。 稍后当我们查询表时,数据将从这个指定的路径读取。 加载数据inpath是数据加载到表中的源文件的路径。 源可以是本地文件路径或hdfs文件路径。 希望我已经清除你的困惑。 The location clause in the DDL of an external table is used to specify the hdfs location where the data needs to be stored. Later on ...由于您没有使用分区约定,因此您必须手动添加每个分区。 表格位置无关紧要,但为了清楚起见,请保留现状。 我建议使用date类型作为分区或至少使用ISO格式YYYY-MM-DD 。 我不会使用date作为列名(也不是int , string等)。 PARTITIONED BY (dt date) alter table user add if not exists partition (dt=date '2017-03-14') location '/user/hadoop/output/FDQM9N4RC ...相关文章
更多- 千锋首发Swift视频教程
- 《iOS 5核心框架》扫描版[PDF]
- Working on Free Software
- IOS端的摇一摇功能
- Swift入门视频教程-尚学堂视频教程
- 浅谈iOS与社交化网络
- ios获取ip地址
- 尚学堂ios高级视频教程
- 尚学堂ios中级视频教程
- 《苹果说明书没说明的那些iOS使用技巧(全彩)》扫描版[PDF]
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。