Добавление строки со строкой в ​​IOS - PullRequest
10 голосов
/ 15 февраля 2012

У меня проблема с обменом текста в 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.but для заголовка Я включаю этот код

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;

Но вот мойпроблема это uplode заголовок и текст в два раза.Это означает, что у меня есть один текст с заголовком.Когда я нажимаю кнопку обмена, она загружается два раза.1 = 2,2 = 4,3 = 6, вот так.Гайка только добавив заголовок я получаю эту проблему.Если я поставлю заголовок static, note.title = @ "statictitle".Это не повторит загрузку.Как правильно добавить строку?Пожалуйста, помогите мне.Заранее спасибо.

1 Ответ

18 голосов
/ 15 февраля 2012

Я заметил две вещи:

Использование 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...