如何从NSString对象中捕获第一行?
我目前正在将整个NSString对象分配给textView的标题,但只想分配字符串的第一行。我现在的代码是这样的:
self.textView.text = [[managedObject valueForKey:@"taskText"] description];
答案 0 :(得分:7)
你想要
self.textView.text = [[[[managedObject valueForKey: @"taskText"] description] componentsSeparatedByString: @"\n"] objectAtIndex:0];
答案 1 :(得分:6)
如果您的目标是iOS 4.0及更高版本,则可以使用-[NSString enumerateLinesUsingBlock:]
:
__block NSString *firstLine = nil;
NSString *wholeText = [[managedObject valueForKey:@"taskText"] description];
[wholeText enumerateLinesUsingBlock:^(NSString *line, BOOL *stop) {
firstLine = [[line retain] autorelease];
*stop = YES;
}];
self.textView.text = firstLine;
答案 2 :(得分:4)
另一种方法可能是最有效和最简单的方法:
NSString* str = [[managedObject valueForKey:@"taskText"] description];
self.textView.text = [str substringWithRange:[str lineRangeForRange:NSMakeRange(0, 0)]];