在ios中追加带字符串的字符串

时间:2012-02-15 09:02:42

标签: iphone

我遇到了一些文本共享到evernote的问题,共享evernote是成功的,但这是我目前的代码情况。我有UITableView,其中包含相应文本的一些文字和标题。单击共享按钮时,它将一个人共享文本到evernote网站,但标题仍然是静态的。在那里,我得到了第一个标题名称以及不同的文本。我的代码在rowAtIndexPath

的tableview中
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”。它不会重复上传。如何以正确的方式附加字符串? 请帮我。 提前谢谢。

1 个答案:

答案 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类参考以获取详细信息。