我正在尝试制作一个考勤应用程序,我对iOS和Firebase中的日期和时间感到困惑.
我使用date作为Key,这是我的Firebase数据库的结构.
--Employees
--Unique_ID
--Details
Name: John
--Attendance
--dateToday
Timein: 8:00 AM
Timeout: 5:00 PM
BreakStart: 12:00 PM
BreakFinish: 1:00 PM
Run Code Online (Sandbox Code Playgroud)
这是我获取用作Key的日期时间戳的代码
override func viewDidLoad() {
super.viewDidLoad()
let now = NSDate()
let nowTimeStamp = self.getCurrentTimeStampWOMiliseconds(dateToConvert: now)
// I save this dateToday as Key in Firebase
dateToday = nowTimeStamp
}
func getCurrentTimeStampWOMiliseconds(dateToConvert: NSDate) -> String {
let objDateformat: DateFormatter = DateFormatter()
objDateformat.dateFormat = "yyyy-MM-dd"
let strTime: String = objDateformat.string(from: dateToConvert as Date)
let objUTCDate: NSDate = objDateformat.date(from: strTime)! as NSDate
let …Run Code Online (Sandbox Code Playgroud) 我有一本字典,我想按键的最后一个字符进行分组。这是字典:
var displayValues = ["volume_1": 1, "price_2": 6, "price_1": 2, "stock_1": 3, "volume_2": 5, "stock_2": 7]
Run Code Online (Sandbox Code Playgroud)
这是我用来对它们进行分组的代码
let groupValues = Dictionary(grouping: displayValues) { $0.key.last! }
print(groupValues)
Run Code Online (Sandbox Code Playgroud)
这是这段代码的结果
["2": [(key: "price_2", value: 6), (key: "volume_2", value: 5), (key: "stock_2", value: 7)], "1": [(key: "volume_1", value: 1), (key: "price_1", value: 2), (key: "stock_1", value: 3)]]
Run Code Online (Sandbox Code Playgroud)
分组是正确的,但是,如何从字典中删除单词key和value以便它显示以下内容?
[
"2": ["price_2": 6, "volume_2" : 5, "stock_2": 7],
"1": ["volume_1": 1, "price_1": 2, "stock_1": 3]
]
Run Code Online (Sandbox Code Playgroud) 我有QR Code生成器正在工作,它会向我显示图像qrImageView UIImageView。
现在,我要做的就是将该QR Code图片附加到电子邮件中。尝试了下面指定的代码,但出现错误“在展开可选值时发现nil”。
请帮忙!
产生QR CODE的功能
func generateQRCode(from string:String) -> UIImage? {
let data = string.data(using: String.Encoding.isoLatin1)
if let filter = CIFilter(name:"CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
let transform = CGAffineTransform(scaleX: 100, y: 100)
if let output = filter.outputImage?.applying(transform) {
return UIImage(ciImage: output)
}
}
return nil
}
@IBAction func generateAction(_ sender: Any) {
if let actualText = qrCodeTextField.text {
let image = generateQRCode(from: actualText)
qrImageView.image = image
}
}
Run Code Online (Sandbox Code Playgroud)
用于将QR代码附加到电子邮件的代码
func configureMailController() -> MFMailComposeViewController {
let …Run Code Online (Sandbox Code Playgroud) 我想知道如何计算登录时间和注销时间之间的差异,例如:登录时间:8:00 AM和注销时间:5:00 PM,我应该得到9个小时作为总渲染时间。
这是保存到Firebase的时间格式
// Set the time
let timeFormatter = DateFormatter()
timeFormatter.dateStyle = .none
timeFormatter.timeStyle = .short
timeFormatter.amSymbol = "AM"
timeFormatter.pmSymbol = "PM"
let timeString = timeFormatter.string(from: date)
Run Code Online (Sandbox Code Playgroud)