Apple のCore Animation Programming Guideから、リスト 4:
...
// create the filter and set its default values
CIFilter *filter = [CIFilter filterWithName:@"CIBloom"];
[filter setDefaults];
[filter setValue:[NSNumber numberWithFloat:5.0] forKey:@"inputRadius"];
// name the filter so we can use the keypath to animate the inputIntensity
// attribute of the filter
[filter setName:@"pulseFilter"];
...
[filter setName... の行で、「No visible @interface for 'CIFilter' はセレクター 'setName:' を宣言しています。
filterWithName 初期化子を使用してフィルターが作成されていることがわかります。そのため、その名前は読み取り専用であると思われます。しかし、なぜこの例がAppleのコードや、私が見つけた他の多くの例にあるのでしょうか?