我有两个对象:
和
在我的视图控制器中,我有20个不同“sello”对象的实例变量。和一个包含这20个对象的可变数组。
所以总共我在这20个物体中有260个“矩阵物”。
如果我有一个int的另一个实例变量并且等于34(例如),我怎样才能在260个“somma”之间找到34并获得该位置?
答案 0 :(得分:0)
这样的东西?
NSNumber * num = [NSNumber numberWithInt:34];
for(Sello * sello in selloArray)
{
if([sello.matrices valueForKey:@"somma"] containsObject:num])
return YES;
if([sello.matrices valueForKey:@"tono"] containsObject:num])
return YES;
}
return NO;
答案 1 :(得分:0)
如果通过数组的名称,你的意思是sello对象数组中的sello对象的属性名称,我认为以下代码将起作用。这就是我在视图控制器代码中放入的内容(matrixArray是sello对象中矩阵对象的数组):
- (void)viewDidLoad {
[super viewDidLoad];
self.sello1 = [[Sello alloc] init];
self.sello2 = [[Sello alloc] init];
self.sello3 = [[Sello alloc] init];
self.sello4 = [[Sello alloc] init];
self.sello5 = [[Sello alloc] init];
self.sello6 = [[Sello alloc] init];
self.sello7 = [[Sello alloc] init];
self.sello8 = [[Sello alloc] init];
self.sello9 = [[Sello alloc] init];
self.sello10 = [[Sello alloc] init];
self.arr = [NSArray arrayWithObjects:self.sello1,self.sello2,self.sello3,self.sello4,self.sello5,self.sello6,self.sello7,self.sello8,self.sello9,self.sello10,nil];
}
-(void)viewDidAppear:(BOOL)animated {
NSNumber *num = @15;
for (Sello *aSello in self.arr) {
for (Matrix *aMatrix in aSello.matrixArray) {
if (aMatrix.somma == num.intValue) {
NSInteger indx = [self.arr indexOfObjectPassingTest:^BOOL(Sello *obj, NSUInteger idx, BOOL *stop) {
return obj == aSello;
}];
NSLog(@"%@", [NSString stringWithFormat:@"sello%d",indx+1]);
}
}
}
}