2012-02-15 11 views
9
私はEvernoteのにはいくつかのテキストの共有と問題にしています

内の文字列と文字列を追加は、共有Evernoteのは成功であるが、ここではコードで私の現在の状況です。私はUITableViewを持っています。これには対応するテキストのテキストとタイトルがあります。共有ボタンがクリックされたときには、Evernoteのウェブサイトにテキストonebyoneを共有しますが、タイトルは静的なまま。そこでは、私は異なるテキストと一緒に最初のタイトルの名前を取得します。このための私のコードはrowAtIndexPathは、iOS

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は、対応するタイトルのtextnoteを持っています。 shareButtonクリックで

:これはタイトルのためにnotetext.butの1つのアップロードずつ与える

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]; 

私は

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回アップロードされます.1 = 2,2 = 4,3 = 6そうです。唯一の私は、この問題を取得し、タイトルをaddding ナット。タイトルを静的にすると、note.title = @ "statictitle"となります。アップロードは繰り返されません。正しい方法で文字列を追加するにはどうすればよいですか? 私を助けてください。 ありがとうございます。

答えて

18

2つの言及:

NSMutableStringの使用は必要ありません。

cell.textLabel.text = [appDelegate.indexArray objectAtIndex:indexPath.section]; 

他の2つのケースでは、文字列をまったく使用しないでください(またはコードには表示されません)。 forループ、あなたは常にaStringのとaStringtitleを上書きしている、とさえ新しいアロケーションとのことで

。追加は、このように書きます:

NSString *aString = @""; 
for ... 
    aString = [aString stringByAppendingString:[appDelegate.indexArray objectAtIndex:i]]; 

または

aString = [aString stringByAppendingFormat:@" %@", [appDelegate.indexArray objectAtIndex:i]]; 

は、詳細については、NSStringのクラス参照を確認してください。

+0

haii、応答のためのthaks、私はコードを最初に削除します。私はこの質問を投稿した後、appDelegate.notearrayの場合、appDelegate.indexArrayを追加すると完全に動作しますどのような解決策? – stackiphone

+0

は 'のNSLog(@ "appDelegate.indexArray%@"、[appDelegate.indexArrayの説明])を追加し、'コンテンツを表示すること。おそらくそれは既に重複を含んでいます。 –