我刚开始Kotlin,所以请保持友好:)
我有一个负责获取一些数据并通知主要活动其需要更新其UI的类。
所以我在DataProvider.kt中做了一个函数:
fun getPeople(fromNetwork: Boolean, results: ((persons: Array<Person>, error: MyError?) -> Unit)) {
// do some stuff stuff
val map = hashMapOf(
"John" to "Doe",
"Jane" to "Smith"
)
var p = Person(map)
val persons: Array <Person> = arrayOf (p)
results(persons, null)
}
Run Code Online (Sandbox Code Playgroud)
所以我想从我的活动中调用它,但是我找不到正确的语法!:
DataProvider.getPeople(
true,
results =
)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多事情,但是我只想获取一组人和我的可选错误,以便可以更新UI。
目标是在我的数据提供程序中执行异步代码,以便我的活动可以等待它。
有任何想法吗 ?非常感谢您的帮助。
这是我第一次使用这种枚举,带有关联值类型的枚举,我需要switch根据对象的类型进行声明,我无法做到,这是枚举:
enum TypeEnum {
case foo(FooClass)
case doo(DooClass)
case roo(RooClass)
}
Run Code Online (Sandbox Code Playgroud)
我的对象有一个类型的变量TypeEnum,现在我需要检查枚举中的对象类型:
if let anObject = object as? TypeEnum {
switch anObject {
case .foo(???):
return true
...
default:
return false
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道用什么代替???. Xcode 告诉我放一些东西,但我只想打开.foo.
有任何想法吗?
我在我的 iOS 应用程序中创建了匿名用户,我想知道当应用程序更新时,用户匿名会话是否会持续?因为更新应用程序时应用程序被删除但不是所有内容(UserDefault例如持续存在)