Android - AnyObject для Android, как iOS Swift 2
Мне нужна помощь, это пример класса AnyObject в Swift.
class OtherClass {
private var myValue: String?
func setValue(myValue: String) {
self.myValue = myValue
}
func getValue() -> String {
return myValue!
}
}
class MyClass {
init() {
let otherClass = OtherClass()
otherClass.setValue("Value here!")
let myValue = getValue(otherClass) as? String
print(myValue) // output is Value here!
}
func getValue(object: AnyObject) -> AnyObject {
let myObject = object as! OtherClass
return myObject.getValue()
}
}
Мы можем добавить объект OtherClass к параметру метода getValue. Как видите, метод параметра AnyObject, а не OtherClass. Но в Android я не могу этого сделать. Итак, возможно ли использовать AnyObject Class в Android, как в iOS?
1 ответ
Вам нужно использовать класс Java Object. В противном случае вы можете создать свой собственный класс, расширенный всеми OtherClass
и использовать его в качестве параметра типа ввода.
Вы также можете взглянуть на Java Generic Types (но он более продвинутый и, возможно, в этом случае бесполезен)
Протокол, которому неявно соответствуют все классы.
Объект класса является корнем иерархии классов. У каждого класса есть Object как суперкласс. Все объекты, включая массивы, реализуют методы этого класса.