.h
#import <Foundation/Foundation.h>
@interface WeiboUserInfo : NSObject<NSCoding>
{
NSString *m_strDeviceJid; //绑定的设备的jid
NSString *m_strDevicePwd; //绑定的设备的password
NSString *m_strSinaJid; //sina帐号的jid
NSString *m_strSinaPasswd; //sina帐号密码
NSString *m_strNickName; //sina帐号的昵称
NSString *m_strSinaBrief; //sina个性签名
NSString *m_strAccessToken; //sina accessToken
NSDate *m_strExpirationDate; //accessToken 到期时间
NSData *m_imgPortraitSmall; //头像数据(小图片)
NSData *m_imgPortraitMid; //头像数据(中图片)
NSData *m_imgPortraitLarge; //头像数据(大图片)
}
@property (nonatomic, copy) NSString *m_strDeviceJid;
@property (nonatomic, copy) NSString *m_strDevicePwd;
@property (nonatomic, copy) NSString *m_strSinaJid;
@property (nonatomic, copy) NSString *m_strSinaPasswd;
@property (nonatomic, copy) NSString *m_strSinaBrief;
@property (nonatomic, copy) NSString *m_strNickName;
@property (nonatomic, copy) NSString *m_strAccessToken;
@property (nonatomic, retain) NSDate *m_strExpirationDate;
@property (nonatomic, retain) NSData *m_imgPortraitSmall;
@property (nonatomic, retain) NSData *m_imgPortraitMid;
@property (nonatomic, retain) NSData *m_imgPortraitLarge;
@end
.m文件
#import "WeiboUserInfo.h"
@implementation WeiboUserInfo
@synthesize m_strDeviceJid; //绑定的设备的jid
@synthesize m_strDevicePwd;
@synthesize m_strSinaJid; //sina帐号的jid
@synthesize m_strSinaPasswd; //sina帐号密码
@synthesize m_strNickName; //sina帐号的昵称
@synthesize m_strSinaBrief;
@synthesize m_strAccessToken; //sina accessToken
@synthesize m_strExpirationDate; //accessToken 到期时间
@synthesize m_imgPortraitSmall; //头像数据(小图片)
@synthesize m_imgPortraitMid; //头像数据(中图片)
@synthesize m_imgPortraitLarge; //头像数据(大图片)
- (void)dealloc
{
[m_strDeviceJid release];
[m_strDevicePwd release];
[m_strSinaJid release];
[m_strSinaPasswd release];
[m_strNickName release];
[m_strSinaBrief release];
[m_strAccessToken release];
[m_strExpirationDate release];
[m_imgPortraitSmall release];
[m_imgPortraitMid release];
[m_imgPortraitLarge release];
[super dealloc];
}
//将对象编码(即:序列化)
-(void) encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:m_strDeviceJid forKey:@"m_strDeviceJid"];
[aCoder encodeObject:m_strDevicePwd forKey:@"m_strDevicePwd"];
[aCoder encodeObject:m_strSinaJid forKey:@"m_strSinaJid"];
[aCoder encodeObject:m_strSinaPasswd forKey:@"m_strSinaPasswd"];
[aCoder encodeObject:m_strNickName forKey:@"m_strNickName"];
[aCoder encodeObject:m_strSinaBrief forKey:@"m_strSinaBrief"];
[aCoder encodeObject:m_strAccessToken forKey:@"m_strAccessToken"];
[aCoder encodeObject:m_strExpirationDate forKey:@"m_strExpirationDate"];
[aCoder encodeObject:m_imgPortraitSmall forKey:@"m_imgPortraitSmall"];
[aCoder encodeObject:m_imgPortraitMid forKey:@"m_imgPortraitMid"];
[aCoder encodeObject:m_imgPortraitLarge forKey:@"m_imgPortraitLarge"];
}
//将对象解码(反序列化)
-(id) initWithCoder:(NSCoder *)aDecoder
{
if (self=[super init])
{
self.m_strDeviceJid =[aDecoder decodeObjectForKey:@"m_strDeviceJid"];
self.m_strDevicePwd = [aDecoder decodeObjectForKey:@"m_strDevicePwd"];
self.m_strSinaJid =[aDecoder decodeObjectForKey:@"m_strSinaJid"];
self.m_strSinaPasswd =[aDecoder decodeObjectForKey:@"m_strSinaPasswd"];
self.m_strNickName =[aDecoder decodeObjectForKey:@"m_strNickName"];
self.m_strSinaBrief =[aDecoder decodeObjectForKey:@"m_strSinaBrief"];
self.m_strAccessToken =[aDecoder decodeObjectForKey:@"m_strAccessToken"];
self.m_strExpirationDate =[aDecoder decodeObjectForKey:@"m_strExpirationDate"];
self.m_imgPortraitSmall =[aDecoder decodeObjectForKey:@"m_imgPortraitSmall"];
self.m_imgPortraitMid =[aDecoder decodeObjectForKey:@"m_imgPortraitMid"];
self.m_imgPortraitLarge =[aDecoder decodeObjectForKey:@"m_imgPortraitLarge"];
}
return (self);
}
@end
操作如#define kSinaUserInfo @"sinaBindUserInfo.plist"
- (void)savePlist
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *selfInfoPath = [documentsPath stringByAppendingPathComponent:kSinaUserInfo];
if ([[NSFileManagerdefaultManager] fileExistsAtPath:selfInfoPath])
{
NSMutableArray *mutArrRecord = [[NSMutableArray alloc] initWithContentsOfFile:selfInfoPath];
for (int i = 0; i < [mutArrRecord count]; i++)
{
NSData *dateRecord = [mutArrRecord objectAtIndex:i];
WeiboUserInfo *weiboUserInfo = [NSKeyedUnarchiver unarchiveObjectWithData:dateRecord];
if ([weiboUserInfo.m_strDeviceJid isEqualToString:[ABServices currentUserName]])
{
//移除,写入空
[mutArrRecord removeObjectAtIndex:i];
[mutArrRecord writeToFile:selfInfoPath atomically:YES];
break;
}
}
[mutArrRecord release];
}
}