在Objective-C中是否有任何方法可以检查是否在循环内创建了一个Object(同时,for)?
提前致谢。
答案 0 :(得分:0)
NSString *obj = nil;
while()
{
//Create object
obj = [[NSString alloc] init];
}
//check obj is nil or not
if(nil == obj)
{
// obj not created
}
答案 1 :(得分:0)
是的,但是为了得到准确答案,您能告诉我们对象是什么以及何时声明它?你能发布你的代码吗?
int x=0;
while (x<3) {
NSString *i = @"hello world";
x++;
}
NSLog(@"i is %@", i) // i is only declared inside the while loop so not available here
可替换地,
int x=0;
NSString *i;
while (x<3) {
i = @"hello world";
x++;
}
NSLog(@"i is %@", i); // i is declared beforehand outside the while loop so is available here
如果你需要采取行动是否已经创建或使用Anil的答案,那么这里的范围很重要
答案 2 :(得分:0)
我认为您不知道它是否是在循环中创建的,但是因为您正在编写将在循环中创建对象的代码,您可以调用一个特殊的init方法...
SpecialClass * obj = [[SpecialClass alloc] init];
while (isTrue)
{
SpecialClass * loopObj = [[SpecialClass alloc] initCreatedByLoop];
// Do whats needed
}
并在您的SpecialClass中创建一个特定的初始化程序......
@implementation SpecialClass
-(id)initCreatedByLoop {
self = [super init];
if (self) {
// What ever you want to do
}
return self;
}