将用户输入的文本更改为UITextView

时间:2014-06-24 10:49:01

标签: ios objective-c cocoa-touch

只是玩一些代码来练习比什么都重要。我正在编写一个应用程序,用户在UITextView中输入文本,按下按钮,输入的每个单词都会更改为由程序定义的单个单词,保持标点符号不变。

如何实现这一目标?我最初想过计算单词并简单地替换它们,但是当标点符号消失时,这些单词并没有起作用。

有什么想法吗?

谢谢,

2 个答案:

答案 0 :(得分:3)

这是我的解决方案:

NSString *inputString = @"Replace all the words! Will you?";
NSString *substitutionString = @"bla";
NSMutableString *outputString = [inputString mutableCopy];

[outputString enumerateSubstringsInRange:(NSRange){0, [outputString length]} options:NSStringEnumerationByWords usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
    [outputString replaceOccurrencesOfString:substring withString:substitutionString options:0 range:substringRange];
}];

NSLog(@"%@", outputString);

答案 1 :(得分:-1)

是的,是细胞可重用性问题,尝试创建像这样的细胞标识符。它会起作用。

NSString *identifier =[NSString stringWithFormat:@"%d_%d",indexPath.row,indexPath.section];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];

    if (!cell) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
    }

如果您使用的是自定义单元格,则相应地会更改单元格创建代码。