我正在试图检查一个类是否已经在iOS中实例化。如果它已经实例化,那么我想释放它。检查一个类是否已经在iOS中实例化了
像
for (UIView* views in self.view.subviews) {
if ([views isKindOfClass:[CCGLView class]])
[views removeFromSuperview];
}
对于那个时候我已经知道年代它是某种UIViews,但我要如何检查其他类?
我正在试图检查一个类是否已经在iOS中实例化。如果它已经实例化,那么我想释放它。检查一个类是否已经在iOS中实例化了
像
for (UIView* views in self.view.subviews) {
if ([views isKindOfClass:[CCGLView class]])
[views removeFromSuperview];
}
对于那个时候我已经知道年代它是某种UIViews,但我要如何检查其他类?
我想检查一下,如果一个类已经在iOS中实例化。
你不需要。 Objective-C允许你消息无任何不良副作用。此外,子视图不允许为零,因为它们被添加到内部的NSMutableArray中,反过来,它不允许将零指针添加到它自己。
因为这是当我已经知道这是一种UIViews,但我如何检查其他类?
如果你正在寻找释放每一个的UIView(以及相关的子类),你并不需要在您的比较具体,看到基类(UIView的)是宣布removeFromSuperview中,其中一个反过来,解决您的问题的释放部分。当一个视图从它的超级视图中删除时,它的引用计数减1。
现在我有了更多的上下文,你要求的是微不足道的。如果您使用的是ARC,此处的代码片段将查找CustomClass
类型的所有对象,然后将它们设置为零。
for (NSObject *object in self.someCollection) {
if ([object isKindOfClass:[CustomClass class]])
object = nil;
}
如果你使用MRC(如果你是,你到底是怎么了?),那么你应该,事实上,检查它作为一个积极的实例。
for (NSObject *object in self.someCollection) {
if ([object isKindOfClass:[CustomClass class]] && object != nil) {
[object release];
}
}
? Message nil如何检查这个?我不太清楚。给出一两行代码来澄清。 –
不,你在想这个太难。你不需要检查一个对象是否为零,因为你可以消息零!如果你想发送无删除超级视图,你可以。 – CodaFi
不,MyClass不是View类,它是某种类。无法删除FromSuperview。 –
入住这https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html – iDev
你并不需要检查。你可以在ObjC中消息零。 – CodaFi
我正在寻找代码示例。 –