NSValueTransformer を使用できます。
(念のため) NSValueTransformer から新しいクラス、サブクラスを作成します。実装では、次のようなものを追加します。
+(Class)transformedValueClass {
return [NSString class];
}
-(id)transformedValue:(id)value {
if (value == nil) {
return nil;
} else {
if ([value integerValue] == 0) {
return @"";
} else {
return [NSString stringWithFormat:@"%d", [value stringValue]];
}
}
}
Interface Builder でフィールドを選択し、バインディング タブに移動し、Value Transformer ドロップダウンで、作成したクラス名を選択または入力します。これにより、他の場所で変更することを心配する必要がなくなります。プレースホルダーを表示することについて 100% 肯定的ではありません (現在、利用可能な Mac を持っていません)。
編集:これが実際に機能することを確認できます。これは、使用方法を示すために作成した github プロジェクトへのリンクです: https://github.com/macandyp/ZeroTransformer