2012-02-15 18 views
9

Tôi đang gặp vấn đề với việc chia sẻ văn bản với evernote, chia sẻ evernote là thành công, nhưng đây là tình huống hiện tại của tôi với mã. Tôi có một số UITableView có một số văn bản và tiêu đề cho văn bản tương ứng đó. Khi nút chia sẻ được nhấp vào, nó sẽ chia sẻ văn bản onebyone với trang web evernote, nhưng tiêu đề vẫn tĩnh. Ở đó tôi nhận được tên tiêu đề đầu tiên cùng với văn bản khác nhau. Mã của tôi cho điều này là trong tableview của tôi trong rowAtIndexPathGắn thêm một chuỗi với chuỗi trong 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 được nội dung tiêu đề cho mỗi tế bào và appDelegate.notesArray có textnote cho các chức danh tương ứng.

Trong shareButton nhấp chuột:

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

này sẽ cung cấp một bằng một tải lên notetext.but cho tiêu đề tôi bao gồm mã này

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; 

Nhưng đây là vấn đề của tôi nó uplode tiêu đề và văn bản gấp đôi. Điều đó có nghĩa là tôi có một văn bản có tiêu đề. Khi tôi nhấp vào sharebutton nó tải lên hai lần.1 = 2,2 = 4,3 = 6 như thế. Nut chỉ thêm tiêu đề tôi nhận được vấn đề này. Nếu tôi đặt tiêu đề tĩnh, note.title = @ "statictitle". Nó sẽ không lặp lại quá trình tải lên. Làm thế nào tôi có thể nối chuỗi theo cách chính xác? Xin hãy giúp tôi. Cảm ơn trước.

Trả lời

18

Hai điều tôi đã lưu ý:

Không cần sử dụng NSMutableString. Chỉ cần viết cho trường hợp đầu tiên

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

Đối với 2 trường hợp khác bạn không sử dụng chuỗi nào cả (hoặc không được hiển thị trong mã của bạn).

Trong vòng lặp, bạn luôn ghi đè aString và aStringtitle và thậm chí với phân bổ mới. Phụ thêm đi như thế này:

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

hoặc

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

Kiểm tra tham khảo NSString lớp để biết chi tiết.

+0

haii, thaks cho trả lời, tôi loại bỏ đầu tiên từ code.i thông báo rằng sau khi tôi đăng câu hỏi này.và trong trường hợp của appDelegate.notearray, nó hoạt động perfect.but khi tôi thêm appDelegate.indexArray nó trùng lặp .bất kì giải pháp nào? – stackiphone

+0

Thêm 'NSLog (@" appDelegate.indexArray% @ ", [appDelegate.indexArray description]);' để xem nội dung. Có lẽ nó đã chứa bản sao rồi. –

Các vấn đề liên quan