我是一个试图学习颤振的Android开发人员。我坚持检查对象是否是类的实例(有状态或无状态的小部件(。
在Java中,我们使用类似
if (object instanceOf MyClass) {
// object is an instance of MyClass
} else {
// object is not an instance of MyClass
}
但我不知道如何在颤振中做到这一点。
到目前为止,我已经尝试过,
if (object is MyClass) {
// object is an instance of MyClass
} else {
// object is not an instance of MyClass
}
但这总是错误的。
我已经看到了另一种可能的方法new isInstanceOf<MyClass>()
package:matcher/matcher.dart
包中可用,但我不知道如何正确实现它。
任何帮助都会很棒。提前谢谢。
与Widget 类完美配合使用。 例如,我有一个小部件
class AccountCreationPage extends StatefulWidget {...}
然后我可以检查我的小部件类型的变量是否属于 AccountCreationPage 类(如果它真的是这个类,则给出 true(:
_loginPage is AccountCreationPage ? 'Creation' : ""
尝试使用调试对象的类:
debugprint("$<object name>");
然后手动匹配类类型。
这意味着您将找到is
运算符所需的类。
object is <object's class>
您可以使用等于运算符
class MyApp extends StatelessWidget {
@override
bool operator ==(Object o) {
if (identical(this, o)) return true;
return o is MyApp;
}
}
然后检查如下
if (object == MyApp)
根据 Flutter Dart-js-util-library,您可以按如下方式检查:
if (instanceOf(object, MyClass)) {
print ('instance of MyClass');
} else {
print('unknown instance');
}
注意这是仅限 Web 的库,不适用于 iOS 或 Android