2012-02-21 11 views
0

私はいくつかのカスタムNSObject(graphShape)でロードされるUIViewを持っています。各graphShapeオブジェクトには、shapeNameというプロパティがあります。 (例:「redshape」、および「yellowshape」)にNSArray(doShapesが)ビューが含まれているいくつかのshapeNamesのリストが含まれていUIViewでカスタムオブジェクトを反復処理し、一致するプロパティを見つける

graphShape * myNewShape = [doShapes objectAtIndex:i]; 
NSLog(@"myNewShape Name: %@", myNewShape.shapeName); 
//Logs: myNewShape Name: redshape 
:私はこのように、このプロパティにアクセスすることができますし、私は別のプロパティを変更する必要があります一致するオブジェクト 私のビュー内のgraphShapeオブジェクトのすべてのインスタンスをループし、プロパティ 'redshape'と 'yellowshape'を持つものを見つけるにはどうすればよいですか?

答えて

1

あなたはそれを探しています:

for (graphShape * shape in doShapes){ 
    if ([shape.shapeName isEqualToString:@"redshape"]){ 
    //do stuff 
    } 
} 
+0

ありがとう、私が探していたものです! – Frank

1

ブロックを使用して、あなたの条件に一致するオブジェクトのサブセットを得るための別のアプローチを:

NSSet *setOfRedViewShapes = [doShapes objectsPassingTest:^(id obj, BOOL *stop){ 

return [obj [email protected]"redShape"]; 

}]; 

あなたはその後、setOfRedViews内のオブジェクトを反復処理することができます。.. 。

関連する問題