【问题标题】:Data to Userdefault encoder class for storing custom object用于存储自定义对象的 Userdefault 编码器类的数据
【发布时间】:2015-08-09 08:52:12
【问题描述】:

谁能给我任何链接或文件,可以在全球范围内用于将数据存储到NSUserDefault的项目。 其中包含保存字典、数组、字符串、整数的方法。

【问题讨论】:

    标签: ios objective-c iphone nsuserdefaults encode


    【解决方案1】:
      #import <Foundation/Foundation.h>
    #import "BSUser.h"
    
    
    @interface CLServerDataManager : NSObject
    
    +(BOOL) saveServerDataToUserDefaults:(id)data;
    +(NSDictionary*) getServerDataFromUserDefaults;
    
    //For language Selection
    +(void) setLanguage:(NSString*)LanguageName;
    +(NSString*) getLanguage;
    
    
    
    +(void) setUserPassword:(NSString*)password;
    +(NSString*) getUserPassword;
    
    +(void) setUserID:(NSString*)password;
    +(NSString*) getUserID;
    
    +(void) setUserUUID:(NSString*)uuid;
    +(NSString*) getUserUUID;
    
    
    +(void) setUserName:(NSString*)name;
    +(NSString*) getUserName;
    
    +(void) setimagedata:(float)data;
    +(float) getimagedata;
    
    
    +(void) setUserProfile:(BSUser*)user;
    +(BSUser*) getUserProfile;
    
    + (void) setApplicationPurchaseStatus:(BOOL)purchaseStatus forUser:(NSString*)fbUserID;
    + (BOOL) getApplicationPurchaseStatusforUser:(NSString*)fbUserID;
    
    
    + (void) sethintAndTutorial:(BOOL)hintState;
    
    + (BOOL) gethintAndtutorial;
    
    
    + (void) setDeviceToken:(NSString*)deviceToken;
    + (NSString*) getDeviceToken;
    
    
    //Methods for clear all data from user defaults
    + (void) resetServerDataManager;
    @end
    

    和.m 文件

    #import "CLServerDataManager.h"
    #import "ClConfig.h"
    
    @implementation CLServerDataManager
    
    +(BOOL) saveServerDataToUserDefaults:(id)data {
    //    if (!data) {
    //        return NO;
    //    }
    //    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    //  [defaults setObject:data forKey:USER_ID];
    //  [defaults synchronize];
    //    return YES;
        return NO;
    
    }
    
    +(NSDictionary*) getServerDataFromUserDefaults {
    //    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    //  NSDictionary* rememberMe = [defaults objectForKey:USER_ID];
    //    if (rememberMe == nil) {
    //        return nil;
    //    }
    //  return rememberMe;
        return nil;
    }
    
    
    //For the store user select language and again fetch
    +(void) setLanguage:(NSString*)LanguageName {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:LanguageName forKey:@"Language"];
        [defaults synchronize];
    
    }
    
    +(NSString*) getLanguage {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSString* Mylanguage = [defaults objectForKey:@"Language"];
        if (Mylanguage == nil) {
            return nil;
        }
        return Mylanguage;
    }
    
    
    //for store information cache for user's pics download
    +(void) setimagedata:(float)data{
    
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:[NSNumber numberWithFloat:data] forKey:@"cache"];
        [defaults synchronize];
    
    }
    +(float)getimagedata{
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        float data = [[defaults objectForKey:@"cache"] floatValue];
        if (data == 0) {
            return 0;
        }
        return data;
    
    }
    
    
    
    +(void) setUserPassword:(NSString*)password {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:password forKey:@"password"];
        [defaults synchronize];
    }
    
    +(NSString*) getUserPassword {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSString* rememberMe = [defaults objectForKey:@"password"];
        if (rememberMe == nil) {
            return nil;
        }
        return rememberMe;
    
    }
    
    +(void) setUserID:(NSString*)password {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:password forKey:@"userID"];
        [defaults synchronize];
    }
    
    +(NSString*) getUserID {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSString* rememberMe = [defaults objectForKey:@"userID"];
        if (rememberMe == nil) {
            return nil;
        }
        return rememberMe;
    }
    
    +(void) setUserUUID:(NSString*)uuid {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:uuid forKey:@"userUUID"];
        [defaults synchronize];
    }
    
    +(NSString*) getUserUUID {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSString* rememberMe = [defaults objectForKey:@"userUUID"];
        if (rememberMe == nil) {
            return nil;
        }
        return rememberMe;
    }
    
    
    +(void) setUserName:(NSString*)name {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:name forKey:@"userName"];
        [defaults synchronize];
    }
    
    +(NSString*) getUserName {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSString* name = [defaults objectForKey:@"userName"];
        if (name == nil) {
            return nil;
        }
        return name;
    }
    
    //store the current login user profile to user defaults
    
    +(void) setUserProfile:(BSUser*)user {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:[NSKeyedArchiver archivedDataWithRootObject:user] forKey:@"user_profile"];
        [defaults synchronize];
    
    }
    
    
    +(BSUser*) getUserProfile {
        BSUser* returnObject = nil;
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    
        NSData *dataRepresentingSavedArray = [defaults objectForKey:@"user_profile"];
        if (dataRepresentingSavedArray != nil)
        {
            returnObject = (BSUser*)[NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];
        }
        return returnObject;
    }
    
    
    
    
    
    + (void) setApplicationPurchaseStatus:(BOOL)purchaseStatus forUser:(NSString*)fbUserID {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:[NSNumber numberWithBool:purchaseStatus] forKey:fbUserID];
        [defaults synchronize];
    }
    
    + (BOOL) getApplicationPurchaseStatusforUser:(NSString*)fbUserID {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSNumber* purchased = [defaults objectForKey:fbUserID];
        if (purchased == nil) {
            return NO;
        }
        return [purchased boolValue];
    }
    
    
    #pragma mark Set hint and tutotrial
    + (void) sethintAndTutorial:(BOOL)hintState{
    
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:[NSNumber numberWithBool:hintState] forKey:@"hint"];
    
        [defaults synchronize];
    
    }
    
    + (BOOL) gethintAndtutorial{
    
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSNumber* hintstate = [defaults objectForKey:@"hint"];
    
        if (hintstate == nil) {
            return NO;
        }
        return [hintstate boolValue];
    }
    
    
    
    + (void) setDeviceToken:(NSString*)deviceToken {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:deviceToken forKey:@"DeviceToken"];
        [defaults synchronize];
    }
    
    + (NSString*) getDeviceToken {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSString* name = [defaults objectForKey:@"DeviceToken"];
        if (name == nil) {
            return nil;
        }
        return name;
    }
    
    + (void) resetServerDataManager {
    
        [[self class] setLanguage:nil];
    
        [[self class] setUserID:nil];
        [[self class] setUserName:nil];
        [[self class] setUserPassword:nil];
        [[self class] setUserProfile:nil];
        [[self class] setUserUUID:nil];
    
        NSHTTPCookie *cookie;
        NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        for (cookie in [storage cookies])
        {
            NSString *domainName = [cookie domain];
            NSRange domainRange = [domainName rangeOfString:@"facebook"];
            if(domainRange.length > 0)
            {
                [storage deleteCookie:cookie];
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      试试下面的链接,你会得到你需要的东西..

      NSUserDefaults

      【讨论】:

        猜你喜欢
        • 2021-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-16
        • 1970-01-01
        • 2015-11-04
        • 1970-01-01
        相关资源
        最近更新 更多