Я хочу объект nsstring, который может хранить только заданную длину символа в нем.NSString с фиксированной длиной
Если он превышает его, он должен быть усечен слева. Например, если я устанавливаю длину до 5, и я ввожу значение как Ileana, тогда он должен хранить leana.
Я попытался, сделав категорию на NSString, но я из идей:
-(void)setMaximumLength:(NSInteger)length;{
if ([self length]>length) {
NSLog(@"exxed");
}
}
Пожалуйста, предложите что я должен делать? Я считаю, что мне нужно посмотреть размер строки, но как сделать в категории, и какое уведомление будет вызываться?
Звучит для меня как хорошее использование индивидуального сеттера для этого свойства. В установщике вы можете обрезать строку. – 2013-03-03 18:14:31
Согласовано. Кажется очень странным иметь специальный тип строки, который имеет максимальную длину, вместо того, чтобы говорить, что свойство «foo» данного объекта (которое является строкой) имеет максимальную длину. Илеана, можете ли вы объяснить пример использования? Поскольку NSStrings являются неизменяемыми, нет смысла вызывать вышеупомянутый метод (или что-то в этом роде). –
Объекты NSString не изменяются. Вы не можете усечь их. Вы можете использовать 'substringFromIndex:' или 'substringToIndex:' для аналогичного эффекта. – zneak