我想要一个只能存储指定长度的字符的nsstring对象。固定长度的NSString
如果超过,它应该从左边截断。例如,如果我将长度设置为5,并且我输入值作为Ileana,那么它应该存储leana。
我试图通过使上NSString的一个类别,但我的想法:
-(void)setMaximumLength:(NSInteger)length;{
if ([self length]>length) {
NSLog(@"exxed");
}
}
请建议我应该怎么办?我想我需要观察字符串大小,但是如何在某个类别中执行操作,以及将调用哪个通知?
对我来说听起来像是一个很好的使用这个属性的个人二传手。在setter中,你可以截断字符串。 – 2013-03-03 18:14:31
同意。看起来很奇怪有一种特殊类型的字符串具有最大长度,而不是说给定对象的“foo”属性(恰好是字符串)具有最大长度。 Ileana,你能解释一下这个用例吗?由于NSString是不可变的,所以你可以调用上述方法(或类似的东西)没有意义。 – 2013-03-03 19:33:48
NSString对象不可变。你不能截断它们。您可以使用'substringFromIndex:'或'substringToIndex:'来获得类似的效果。 – zneak 2013-03-03 19:45:10