2016-10-06 57 views
-3

我需要帮助,这是Swift中的AnyObject类的示例。Android - AnyObject for Android like iOS Swift 2

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中,我无法做到这一点。那么,是否有可能在Android中使用AnyObject类,就像在iOS中一样?

+0

这个问题还不够清楚,你是什么意思?你可能想编辑它... –

+0

你想要[Object](https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html)类吗? – kennytm

回答

3

您需要使用Java Object类。否则,您可以创建自己的类,扩展所有OtherClass并将其用作输入类型参数。

你可以给一看就太Java Generic Types(但它更先进,也许是没有用在这种情况下)

Swift AnyObject Doc

,这是所有类隐含符合该协议。

Java Object Doc

类对象的类层次结构的根。每个类都有Object作为超类。所有的对象,包括数组,都实现了这个类的方法。

+0

完美答案! 非常感谢@lubilis。这解决了我的问题。 – icaksama