Как считать '\ n' в UITextView - PullRequest
0 голосов
/ 09 марта 2011

У меня разболелась попытка посчитать возвраты (\ n) в моем UITextView. Как вы скоро поймете, я кровавый новичок, и вот моя теория того, что я придумал, но есть много пробелов ...

- (IBAction)countReturns:(id)sender {

int returns;

while ((textView = getchar()) != endOfString [if there is such a thing?])
{
   if (textView = getchar()) == '\n') {
   returns++;
   }
}

NSString *newText = [[NSString alloc] initWithFormat:@"Number of returns: %d", returns];
    numberReturns.text = newText;

    [newText release];
    }   

Я проверил здесь другие вопросы, но люди, как правило, (на мой взгляд) теряются в некоторых деталях, которые я не понимаю. Любая помощь будет очень высоко ценится! Спасибо за ваше терпение.

Ответы [ 3 ]

5 голосов
/ 09 марта 2011

Вы можете просто

UITextView *theview; //remove this line, and change future theview to your veiw
NSString *thestring; //for storing a string from your view
int returnint = 0;
thestring = [NSString stringWithFormat:@"%@",[theview text]];

for (int temp = 0; temp < [thestring length]; temp++){ //run through the string
if ([thestring characterAtIndex: temp] == '\n')
    returnint++;
}
1 голос
/ 09 марта 2011

Есть много способов сделать это.Вот один из них:

NSString *str = @"FooBar\n\nBaz...\n\nABC\n";
NSString *tmpStr = [str stringByReplacingOccurrencesOfString:@"\n" withString:@""];
NSInteger count = [str length] - [tmpStr length];
NSLog(@"Count: %d", count);
1 голос
/ 09 марта 2011

<code>NSArray *newlines = [textView.text componentsSeparatedByString:@"\n"];<br>
int returns = ([newlines count]-1)

Должно работать.Имейте в виду, что это не очень хорошая идея, если у вас есть нормальная строка, но она быстра, грязна и проста в реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...