- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用以下代码向我在 firebase 中的节点添加一个新子节点:
@IBAction func likeButtonOnTouch(_ sender: Any) {
if ViewController.usersUid.count > 0 {
self.update()
}
}
func update() {
let child1: String = (FIRAuth.auth()?.currentUser?.uid)!
let ref = FIRDatabase.database().reference().child(child1).child("following")
let data1: [String:String] = [ViewController.usersUid[self.currentUser]: "true"]
ref.setValue(data1)
}
但是当我按下按钮时,我的应用程序崩溃并出现此错误:
thread 1 exc_bad_instruction (code=1 subcode=0x100ef5c78)
在这一行:
ref.setValue(data1)
我不知道这意味着什么以及如何解决它。最有趣的是,该值已成功添加到我的数据库中(!!!),但应用程序崩溃了。请给我一个建议。
附言崩溃报告:
* thread #1: tid = 0xb503, 0x0000000100f11c78 libdispatch.dylib`dispatch_group_leave + 76, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x100f11c78)
frame #0: 0x0000000100f11c78 libdispatch.dylib`dispatch_group_leave + 76
frame #1: 0x00000001000a36f8 Elite Club`thunk + 68 at ViewController.swift:0
frame #2: 0x00000001001bf8a4 Elite Club`__43-[FValueEventRegistration fireEvent:queue:]_block_invoke.57((null)=<unavailable>) + 88 at FValueEventRegistration.m:60 [opt]
frame #3: 0x0000000100f0d258 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #4: 0x0000000100f0d218 libdispatch.dylib`_dispatch_client_callout + 16
frame #5: 0x0000000100f12280 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1200
frame #6: 0x000000019376e810 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
frame #7: 0x000000019376c3fc CoreFoundation`__CFRunLoopRun + 1660
frame #8: 0x000000019369a2b8 CoreFoundation`CFRunLoopRunSpecific + 444
frame #9: 0x000000019514e198 GraphicsServices`GSEventRunModal + 180
frame #10: 0x00000001996e17fc UIKit`-[UIApplication _run] + 684
frame #11: 0x00000001996dc534 UIKit`UIApplicationMain + 208
frame #12: 0x00000001000c04b8 Elite Club`main + 140 at AppDelegate.swift:15
frame #13: 0x000000019267d5b8 libdyld.dylib`start + 4
最佳答案
如果ViewController.usersUid[self.currentUser]
不存在请崩溃
你能试试这个吗:
let data1: [String:String] = [(ViewController.usersUid[self.currentUser] ?? "") : "true"]
ref.setValue(data1) { (error, ref) -> Void in
}
更简洁的方式:
if let currentuser = ViewController.usersUid[self.currentUser] {
let data1: [String:String] = [currentuser : "true"]
ref.setValue(data1) { (error, ref) -> Void in
}
}
关于ios - 添加新 child 时出现 dispatch_group_leave 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43304034/
我知道 dispatch_group_leave 调用需要与 dispatch_group_enter 平衡。这是发生崩溃的代码块(随机发生,并非总是如此) dispatch_
这种情况很少发生。这是堆栈跟踪的最后一行: 0 libdispatch.dylib 0x0000000197a85a9c dispatch_group_leave + 48
我正在使用分派(dispatch)组来获取数据字符串。这是一段代码,我不确定为什么会在这段代码中得到 Unbalanced call to dispatch_group_leave()。 var qu
我正在尝试使用以下代码向我在 firebase 中的节点添加一个新子节点: @IBAction func likeButtonOnTouch(_ sender: Any) { if ViewC
在我的 dispatch_group 代码中,我使用 dispatch_group_wait 使一组网络服务调用超时。问题,似乎我需要计算调用 dispatch_group_enter 的次数,然后调
我有下面这个逻辑;它们基本上是 3 个嵌套的调度组 block 。 第一组(组)将执行 3 个简短的异步任务(仅从网络服务下载数据)和一个较长的异步任务:将未同步的记录上传到网络服务,在本地删除同步的
我是一名优秀的程序员,十分优秀!