我觉得这太浪漫了,但我会尽我所能。我的应用程序内置了引号,每天都会更改。其中一些超过140个字符,但我希望能够通过Twitter分享,所以我需要一种方法来计算,如果超过140,编辑它。到目前为止我所拥有的是:
int maxChars = 140;
int charsLeft = maxChars - [label1.text length];
NSString *removed = [label1.text substringToIndex:[label1.text length] - charsLeft];
TWTweetComposeViewController* twc = [[TWTweetComposeViewController alloc] init];
[twc setInitialText:removed];
[self presentModalViewController:twc animated:YES];
其中label1是显示引用的UILabel。这会引起超过140个字符的引号错误
[__NSCFString substringToIndex:]: Range or index out of bounds'
有什么想法?我在想的另一件事。每个引用都以
结尾" - Person who said it
我以为我可以获得字符数,删除多余的字符+3并在 - 之前插入...。我怎么能这样做,或者至少修复我现有的代码?
答案 0 :(得分:1)
好吧,想象一下你的代码中带有10个字符的标签。
int maxChars = 140;
int charsLeft = maxChars - [label1.text length];
NSString *removed = [label1.text substringToIndex:[label1.text length] - charsLeft];
变为
int charsLeft = 140 - 10; //charsLeft = 130
NSString *removed = [label1.text substringToIndex:10 - 130];
这会告诉SubstringToIndex获取0到-120之间的字符,这没有多大意义。
分割字符串以隔离引号的作者可能会很棘手,因为引号和作者名称可能都包含连字符。无论如何你想要尝试它,你可以做一些像这个春天解析问题的答案之一(http://stackoverflow.com/questions/2166809/number-of-occurrences-of-a-substring-in -an-nsstring)为字符串@“ - ”,并尝试并隔离最后一个实例。