私の Core Dataでは、すべてのプロパティに空白が削除された文字列のみが含まれていることNSManagedObject
を確認したいと思います。NSString
次のように、各セッターメソッドをオーバーライドすることでこれを達成できることを認識しています。
- (void)setSomeProperty:(NSString *)someProperty
{
someProperty = [someProperty stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ((!someProperty && !self.someProperty) || [someProperty isEqualToString:self.someProperty]) return;
[self willChangeValueForKey:@"someProperty"];
[self setPrimitiveValue:someProperty forKey:@"someProperty"];
[self didChangeValueForKey:@"someProperty"];
}
ただし、特に私の管理対象オブジェクトにはかなりの数のNSString
プロパティがある可能性が高いため、これは多くのコードを記述する必要があるように思えます。
もっと簡単な方法はありますか?