2011-06-19 21 views
5

में चयनित cheklist पंक्तियों को सहेजें Iam Iphone के लिए बहुत नया है और यह मेरी परियोजना में मेरा आखिरी मॉड्यूल है .. निम्नलिखित कोड chekmark के साथ कई देश चयन के लिए पूरी तरह से काम कर रहा है। मूल रूप से मेरा प्रश्न यह है कि उन चयनित देशों को कैसे सहेजना है और इस दृश्य पर वापस आने पर फिर से चेक मार्क दिखाएं। कृपया मुझे यहाँ मदद ..NSuserdefaults

मेरे didSelectRowAtIndexPath विधि

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath]; 

    if([selectedCell accessoryType] == UITableViewCellAccessoryNone) 
    { 
    [selectedCell setAccessoryType:UITableViewCellAccessoryCheckmark]; 
    [selectedIndexes addObject:[NSNumber numberWithInt:indexPath.row]]; 
    } 
    else 
    { 
    [selectedCell setAccessoryType:UITableViewCellAccessoryNone]; 
    [selectedIndexes removeObject:[NSNumber numberWithInt:indexPath.row]]; 
    } 

    [tableView deselectRowAtIndexPath:indexPath animated:NO]; 
    [tableView reloadData]; 
} 

मेरे cellForRowAtIndexPath विधि

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    HolidayAppDelegate *delegatObj = (HolidayAppDelegate *)[UIApplication sharedApplication].delegate; 

    static NSString *CellIdentifier = @"CustomCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 

    } 

    cell.textLabel.text=[delegatObj.allcountryarray objectAtIndex:indexPath.row]; 

    [cell setAccessoryType:UITableViewCellAccessoryNone]; 

    for (int i = 0; i < selectedIndexes.count; i++) 
    { 
     NSUInteger num = [[selectedIndexes objectAtIndex:i] intValue]; 
     if (num == indexPath.row) { 
      [cell setAccessoryType:UITableViewCellAccessoryCheckmark]; 
      break; 
     } 
    } 

    return cell; 
} 

धन्यवाद

उत्तर

0

अपने डेटा इतना बड़ा आप उपयोग कर सकते हैं नहीं है, तो NSUserDefaults।

डेटा सहेजने के लिए:

NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];

[उपयोगकर्ता डिफॉल्ट सेटऑब्जेक्ट: चयनित इंडेक्स के लिए: @ "चयन"];

[उपयोगकर्ता डिफ़ॉल्ट सिंक्रनाइज़ करें];

डेटा प्राप्त करने के लिए:

NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];

[userDefaults objectForKey: @ "चयन"]

0

हैं इसे हल करने की तो कई तरह से -

मेरे हिसाब से आप अपने Country array और शुरू में के रूप में एक NSMutableArray और array.cout ही बनाने के लिए आप में स्टोर करें, didSelectRowAtIndexPath में आपको के अनुसार संग्रहीत default value को बदलना होगा।

और उसके बाद आप NSUserDefaults में NSMutableArray स्टोर करने के लिए है -

Link - FOR SAVE ARRAY IN NSUserDefaults

संबंधित मुद्दे