对于我的 Core Data NSManagedObject
,我想确保任何NSString
属性只包含已删除空格的字符串。
我知道我可以通过覆盖每个 setter 方法来实现这一点,如下所示:
- (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
属性。
有没有更简单的方法?