2011-11-28 80 views
0

我有一個應用程序,我試圖在另一個字符串變量中附加一個字符串的值,然後在tableview的detailtextlabel中顯示該字符串變量。但我的查詢是我的字符串是沒有得到追加properly.What可能是issue.This是我的代碼:獲取將一個字符串的值附加到另一個字符串的問題iphone

-(void)viewWillDisappear:(BOOL)animated 
{ 
    repeatArray = [[NSMutableArray alloc] init]; 
    repeatArray = [[NSUserDefaults standardUserDefaults]objectForKey:@"week"]; 

    if (sun && mon && tue && wed && thu && fri && sat) 
    { 
     app.repeat [email protected]"Every day"; 
    } 
    else if (mon && tue && wed && thu && fri && !sat && !sun) 
    { 
     app.repeat = @"Every Week days"; 
    } 
    else if (sat && sun && !mon && !tue && !wed && !thu && !fri) 
    { 
     app.repeat = @"Every Weekends"; 
    } 
    else if (sun || mon || tue || wed|| thu || fri || sat) 
    { 
     if (sun) 
     { 
      app.repeat = @"Every Sunday"; 
      NSLog(@"weekday:%@",app.repeat); 
     } 
     if (mon) 
     { 
      app.repeat= @"Every Monday"; 
      NSLog(@"weekday:%@",app.repeat); 
     } 
     if(tue) 
     { 
      app.repeat = @"Every Tuesday"; 
      NSLog(@"weekday:%@",app.repeat);   
     } 
     if(wed) 
     { 
      app.repeat = @"Every Wednesday"; 
      NSLog(@"weekday:%@",app.repeat); 
     } 
     if(thu) 
     { 
      app.repeat = @"Every Thursday"; 
      NSLog(@"weekday:%@",app.repeat);   
     } 
     if(fri) 
     { 
      app.repeat = @"Every Friday"; 
      NSLog(@"weekday:%@",app.repeat); 
     } 
     if(sat) 
     { 
      app.repeat = @"Every Saturday"; 
      NSLog(@"weekday:%@",app.repeat); 
     } 
    } 
} 

所有這一切工作是好的。但我選擇週一週二和則僅顯示每個星期二。而是顯示「Every Mon,Tue」。

請幫我解決這個問題。

+0

你怎麼想呢? **「每個星期一和每個星期二」**? – EmptyStack

+0

@EmptyStack沒有選擇星期一和星期二我想要「Every Mo,Tue」 – Ajay

+0

請在未來更好地設置你的問題。你的代碼很難閱讀。我爲你格式化了它。 –

回答

0

您不斷重置您的重複字符串到一個新值,而不添加任何內容。

試試這個:

repeat = [repeat stringByAppendingString:@"Every Tuesday"]; 

你將不得不修改的內容的方式您連接自己的字符串爲您所希望的最終輸出,上面會給「每MondayEvery星期二」爲例。

+0

爲什麼我的回答被投下兩次評論的任何機會?沒有多少點沒有指出爲什麼我和任何人閱讀它可以從中學習。 –

3

您不追加字符串,只需將repeat設置爲新字符串即可。也許你想要這個?

app.repeat = [NSString stringWithFormat:@"%@%@", app.repeat, @"Every Friday"]; 

或者更簡單,這個?

app.repeat = [app.repeat stringByAppendingString:@"Every Friday"]; 

另外,你有泄漏;您分配一個數組,然後通過爲其分配從[[NSUserDefaults standardUserDefaults]objectForKey:@"week"]返回的對象而失去對它的引用。

編輯:那麼,你的原碼是意大利麪 - 和我的代碼不會幫助 - 但這裏是你能做什麼(雖然我絕不會做這種自己):

BOOL alreadyModified = NO; 
if (sun) 
{ 
    app.repeat = @"Every Sunday"; 
    alreadyModified = YES; 
    NSLog(@"weekday:%@",app.repeat); 
} 
if (mon) 
{ 
    if (alreadyModified) 
    { 
     app.repeat = [app.repeat stringByAppendingString:@", Monday"]; 
    } 
    else 
    { 
     app.repeat= @"Every Monday"; 
     alreadyModified = YES; 
    } 
    NSLog(@"weekday:%@",app.repeat); 
} 
if(tue) 
{ 
    if (alreadyModified) 
    { 
     app.repeat = [app.repeat stringByAppendingString:@", Tuesday"]; 
    } 
    else 
    { 
     app.repeat= @"Every Tuesday"; 
     alreadyModified = YES; 
    } 
    NSLog(@"weekday:%@",app.repeat);   
} 
if(wed) 
{ 
    if (alreadyModified) 
    { 
     app.repeat = [app.repeat stringByAppendingString:@", Wednesday"]; 
    } 
    else 
    { 
     app.repeat= @"Every Wednesday"; 
     alreadyModified = YES; 
    } 
    NSLog(@"weekday:%@",app.repeat); 
} 
if(thu) 
{ 
    if (alreadyModified) 
    { 
     app.repeat = [app.repeat stringByAppendingString:@", Thursday"]; 
    } 
    else 
    { 
     app.repeat= @"Every Thursday"; 
     alreadyModified = YES; 
    } 
    NSLog(@"weekday:%@",app.repeat);   
} 
if(fri) 
{ 
    if (alreadyModified) 
    { 
     app.repeat = [app.repeat stringByAppendingString:@", Friday"]; 
    } 
    else 
    { 
     app.repeat= @"Every Friday"; 
     alreadyModified = YES; 
    } 
    NSLog(@"weekday:%@",app.repeat); 
} 
if(sat) 
{ 
    if (alreadyModified) 
    { 
     app.repeat = [app.repeat stringByAppendingString:@", Saturday"]; 
    } 
    else 
    { 
     app.repeat= @"Every Saturday"; 
     alreadyModified = YES; 
    } 
    NSLog(@"weekday:%@",app.repeat); 
} 
+0

艾倫澤諾,但是當我選擇星期一和星期二時,@「每個星期一,星期二」應該顯示 – Ajay

+0

我知道你想要的答案,但我不認爲我應該給你喂這個。用@「Every」製作一個字符串,然後附加選定的日子,每次用逗號分隔。無論如何你必須重構上面的代碼。 –

+0

呃,我爲你寫了一個解決方案。檢查以上。這是相當平均的,但希望你會看到你應該做什麼來檢查字符串是新的還是要附加的。 –

相關問題