我有一个现有的Movie类,我现在希望使用RealmSwift框架存储它。以前我已经遵守Movie了Hashable协议(用于Set()对电影数组执行操作),但是由于Realm遵守其Object协议的要求,这变得多余了。
但是,现在我对hash(into hasher: _)函数的(重新)声明出现错误(根据需要Hashable):
Overriding declarations in extensions is not supported
Overriding non-open instance method outside of its defining module
1. Overridden declaration is here (ObjectiveC.NSObject)
Run Code Online (Sandbox Code Playgroud)
我检查了Realmgit repo上的许多问题报告都没有成功(我相信有些被错误地标记为已关闭):
我试着和没有申报primaryKey,经过以及把虚拟初始(保证唯一)的ID dynamic var id = UUID().uuidString-但应该注意的是,Movie()被永远不会叫-我总是用(现在方便,有了这个境界重构)convenience init(title: String, id: String, cast: String )初始化器。
一些建议包括覆盖 …
如何使用Firebase崩溃报告在iOS上报告非致命异常?在Android中,我们可以这样做:
FirebaseCrash.report(new Exception("My first Firebase non-fatal error on Android"));
Run Code Online (Sandbox Code Playgroud) 我创建了一个函数,该函数通过接受Int数组并将元素的总和作为整数值返回来执行数字求和。以下是我检查过的代码,在逻辑上是正确的,但是在运行时提及,控制台中的“索引超出范围”和“
错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)。
码:
import UIKit
var x=[Int]()
var i=0
func dosomething(y:[Int])->Int{
for index in 0..<y.count{
if index==0{
x[index]=0
x[index]=x[index]+y[index]
i=x[index]
}
else{
x[index]=x[index-1]+y[index]
i=x[index]
}
}
return i
}
dosomething(y:[1,2,3])
Run Code Online (Sandbox Code Playgroud)