【问题标题】:Android - AnyObject for Android like iOS Swift 2 [closed]Android - 适用于 Android 的 AnyObject,如 iOS Swift 2 [关闭]
【发布时间】:2016-10-06 06:39:28
【问题描述】:

我需要帮助,这是 Swift 中 AnyObject 类的示例。

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中我不能这样做。那么,是否可以像在 iOS 中一样在 Android 中使用 AnyObject 类?

【问题讨论】:

  • 问题不够清楚,什么意思?你可能想编辑它...
  • 你想要Object 类?

标签: android ios anyobject


【解决方案1】:

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

你也可以看看Java Generic Types(但它更高级,在这种情况下可能没用)

Swift AnyObject Doc:

所有类都隐式遵循的协议。

Java Object Doc:

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

【讨论】:

  • 完美答案!非常感谢@lubilis。这解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多