2011-09-13 79 views
0

,我不能讓我的存儲的數據....這是代碼:問題存儲數據

if ([string isEqualToString:@""]) { 
     //RECUPERO DATA 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *pathToDocuments=[paths objectAtIndex:0]; 
     pathToDocuments=[pathToDocuments stringByAppendingString:@"getSubscriptionsListShowOnlyWithUnreadFeeds.txt"]; 
     NSLog(pathToDocuments); 
     dataReply=[[NSData alloc] initWithContentsOfFile:pathToDocuments]; 
     NSString *string = [[NSString alloc] initWithData:dataReply encoding:NSASCIIStringEncoding]; 
     NSLog(@"string recuperata %@",string); 
    } 
    if ([string isEqualToString:@""]==NO) { 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *pathToDocuments=[paths objectAtIndex:0]; 
     pathToDocuments=[pathToDocuments stringByAppendingString:@"getSubscriptionsListShowOnlyWithUnreadFeeds.txt"]; 
     NSLog(pathToDocuments); 
     [dataReply writeToFile:pathToDocuments atomically:YES];} 

有什麼錯嗎?

編輯 沒有錯誤沒有崩潰,但NSLog(@"string recuperata %@",string);打印一個空字符串! (數據存儲在設備中,因爲我已經運行至少一次我的應用程序時,字符串!=空 謝謝

+0

你得到任何錯誤/崩潰/錯誤? – Stuart

+0

沒有錯誤,沒有崩潰...但是NSLog(@「string recuperata%@」,string); –

+0

沒有錯誤沒有崩潰,但NSLog(@「string recuperata%@」,string);打印一個空字符串! (數據存儲在設備中,因爲我已經運行至少一次我的應用程序時,字符串!=空 –

回答

0

我想還有一個失蹤的第二如果我不確定這是你想或者如果它是你一個錯字。檢查如果是這樣的問題。

if ([string isEqualToString:@""]) { 
     //RECUPERO DATA 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *pathToDocuments=[paths objectAtIndex:0]; 
     pathToDocuments=[pathToDocuments stringByAppendingString:@"getSubscriptionsListShowOnlyWithUnreadFeeds.txt"]; 
     NSLog(pathToDocuments); 
     dataReply=[[NSData alloc] initWithContentsOfFile:pathToDocuments]; 
     NSString *string = [[NSString alloc] initWithData:dataReply encoding:NSASCIIStringEncoding]; 
     NSLog(@"string recuperata %@",string); 
    } else if ([string isEqualToString:@""]==NO) { 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *pathToDocuments=[paths objectAtIndex:0]; 
     pathToDocuments=[pathToDocuments stringByAppendingString:@"getSubscriptionsListShowOnlyWithUnreadFeeds.txt"]; 
     NSLog(pathToDocuments); 
     [dataReply writeToFile:pathToDocuments atomically:YES]; 
+0

我需要檢查第一如果字符串是空的...如果它是真的我不想檢索數據到我的設備,並分配我的字符串...所以在第二個如果字符串將=!無 –

+0

@Paul對不起但我不太明白你的意思... – Joze

0

嘗試,如果您不確定編碼改爲NSUTF8StringEncoding,通常它的工作原理。

0
if ([string length]<=0) { 
      //RECUPERO DATA 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *pathToDocuments=[paths objectAtIndex:0]; 
     pathToDocuments=[pathToDocuments stringByAppendingString:@"getSubscriptionsListShowOnlyWithUnreadFeeds.txt"]; 
     NSLog(pathToDocuments); 
     dataReply=[[NSData alloc] initWithContentsOfFile:pathToDocuments]; 
     NSString *string = [[NSString alloc] initWithData:dataReply encoding:NSASCIIStringEncoding]; 
     NSLog(@"string recuperata %@",string); 
    } 

    else { 

     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *pathToDocuments=[paths objectAtIndex:0]; 
     pathToDocuments=[pathToDocuments stringByAppendingString:@"getSubscriptionsListShowOnlyWithUnreadFeeds.txt"]; 
     NSLog(pathToDocuments); 
     [dataReply writeToFile:pathToDocuments atomically:YES]; 

    }