私はこのような機能を持っています:
function selectLayersOfType_inContainer( layerType, containerLayer ) {
// Filter layers using NSPredicate
var scope = containerLayer.firstObject().children(),
predicate = NSPredicate.predicateWithFormat( "(className == %@)", layerType ),
layers = scope.filteredArrayUsingPredicate( predicate );
// Loop through filtered layers and select them
var loop = layers.objectEnumerator(),
layer;
while ( layer = loop.nextObject() ) {
// [ layer select: true byExpandingSelection: true ]
console.log( layer )
}
log( layers.count() + " " + layerType + "s selected" )
}
この関数は、選択されたアイテムを繰り返し処理し、MSLayerGroup
-s のみを返します。しかし、もう 1 つ知っておく必要があります。どのグループがレイヤー階層で上位にあるか、またはどのグループが親/子であるかです。「Child1.1 Group」は「Child1 Group」の子です。
以下のプロジェクト構造の例を参照してください。