我遇到了一些文本共享到evernote的问题,共享evernote是成功的,但这是我目前的代码情况。我有UITableView
,其中包含相应文本的一些文字和标题。单击共享按钮时,它将一个人共享文本到evernote网站,但标题仍然是静态的。在那里,我得到了第一个标题名称以及不同的文本。我的代码在rowAtIndexPath
NSMutableString *strr=[[NSMutableString alloc]initWithString:[appDelegate.indexArray objectAtIndex:indexPath.section]];
cell.textLabel.text =strr ;
cell.textLabel.text = [appDelegate.indexArray objectAtIndex:row];
cell.textLabel.font = [UIFont fontWithName:@"Georgia" size:14.0];
cell.textLabel.textColor = [UIColor brownColor];
[appDelegate.notesArray objectAtIndex:row]];
//cell.detailTextLabel.text =notes;
cell.detailTextLabel.font = [UIFont fontWithName:@"Georgia" size:14.0];
cell.detailTextLabel.textColor = [UIColor darkGrayColor];
cell.detailTextLabel.text = [appDelegate.notesArray objectAtIndex:row];
appDelegate.indexArray
是每个单元格的标题内容,appDelegate.notesArray
包含相应标题的文字说明。
在shareButton中点击:
NSMutableString *str = [[NSMutableString alloc] initWithString:@"NOTES:"];
for (int i = 0; i<[appDelegate.notesArray count]; i++) {
NSString * aString = [[NSString alloc] initWithString:[appDelegate.notesArray objectAtIndex:i]] ;
NSString * ENML= [NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">\n<en-note>%@",aString];
ENML = [NSString stringWithFormat:@"%@%@", ENML, @"</en-note>"];
NSLog(@"%@", ENML);
// Adding the content & resources to the note
[note setContent:ENML];
这将逐一上传notetext。但对于标题我包含此代码
NSMutableString *strtitle = [[NSMutableString alloc] initWithString:@"myBibleApp"];
for (int i = 0; i<[appDelegate.indexArray count];i++ ) {
NSString * aStringtitle = [[NSString alloc] initWithString:[appDelegate.indexArray objectAtIndex:i]] ;
/* NSString *ENMLtitle = [NSString stringWithFormat:@"%@%@", aStringtitle];
NSLog(@"%@", ENMLtitle);*/
note.title = aStringtitle;
但是这是我的问题,它将标题和文字翻转成双倍。这意味着,我有一个带标题的文字。当我点击共享按钮时,它会上传两次.1 = 2,2 = 4,3 = 6就是这样。 坚果只添加标题我得到这个问题。如果我将标题设为静态,则note.title = @“statictitle”。它不会重复上传。如何以正确的方式附加字符串? 请帮我。 提前谢谢。
答案 0 :(得分:18)
我注意到两件事:
不需要使用NSMutableString。只写第一个案例
cell.textLabel.text = [appDelegate.indexArray objectAtIndex:indexPath.section];
对于其他两种情况,你根本不使用字符串(或者代码中没有显示)。
在for循环中,你总是覆盖aString和aStringtitle,即使使用新的alloc也是如此。追加是这样的:
NSString *aString = @"";
for ...
aString = [aString stringByAppendingString:[appDelegate.indexArray objectAtIndex:i]];
或
aString = [aString stringByAppendingFormat:@" %@", [appDelegate.indexArray objectAtIndex:i]];
检查NSString类参考以获取详细信息。