即使在iOS中取消其父视图后也保存按钮状态

时间:2012-04-23 15:02:04

标签: ios

如何在删除父视图后保存按钮的背景颜色状态。因此,在我再次加载父视图后,当我再次点击按钮时,我可以更改按钮的初始颜色。

1 个答案:

答案 0 :(得分:1)

你可以去PList

试试这个: -
在AppDelegate.h

+(NSString *)getValueFromPlist:(NSString *)key filename:(NSString *)filename;
+(NSString *)dataFilePath:(NSString *)filename;

在AppDelegate.m

+(NSString *)getValueFromPlist:(NSString *)key filename:(NSString *)filename
{
    NSString *path = [AppDelegate dataFilePath:filename];
    //NSLog(@"\npath - %@\n", path);
    NSDictionary *dict = [[NSDictionary alloc]initWithContentsOfFile:path];
    //NSLog(@"\nparsing- %@", dict);
    return [dict valueForKey:key];
}

+ (NSString *)dataFilePath:(NSString *)filename {

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docDirectory = [paths objectAtIndex:0];
    return [docDirectory stringByAppendingPathComponent:filename];
}

yourViewController.m 中,使用此代码在plist中保存值: -

NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setValue:@"Your Value to be saved" forKey:@"value"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"nameOfPlist.plist"];

[dict writeToFile:path atomically:YES];

下次,从plist获取值并使用您的代码: -

NSString *strValue = [AppDelegate getValueFromPlist:@"value" filename:@"nameOfPlist.plist"];