Обрезка строки NSS без ее расширения - PullRequest
0 голосов
/ 24 мая 2011

Я хочу обрезать строку до 50 символов (если она слишком длинная), поэтому я решил использовать следующий метод.

someString = [someString stringByPaddingToLength: 50 withString: @"" startingAtIndex: 0];

Можно ли передать пустую строку после аргумента withString?Я не хочу завершать работу моего приложения, когда метод пытается добавить строку, пока someString не станет длиной 50 символов.Боюсь, что это будет плохо, потому что придется повторять строку [someString length] / 0 раз.

Стоит ли вместо этого использовать nil или искать другой способ обрезки?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Я не совсем уверен, почему вы используете метод stringByPaddingToLength:..., если хотите обрезать строку. Я бы подумал, что метод substringToIndex: NSString будет более логичным решением.

Например:

NSString *testString = @"This is a test string that contains over fifty characters. Exciting, yet true.";

if([testString length] > 50) {
    // The source string is long enough to grab a substring of.
    NSString *truncatedString = [testString substringToIndex:50];
}
else {
    // The source string is already less than fifty characters.
    NSString *truncatedString = [NSString stringWithString:testString];
}
2 голосов
/ 24 мая 2011

почему бы не использовать -[NSString substringToIndex:]?

...