IOS如何新增CNY28元奇迹暖暖充值档位

& 在iOS中数据的存储,无论是存储数据库(sqlite &支持的数据类型有五种NULL,整形(INT),浮点型(REAL)文本字符串(TEXT),二进制数据(BLOB) )还是存放在keychain , 或者是本地 plist 的文件 ,数据都以NSData(二进制数据)进行存储比较好,这样就牵扯到我们每定义一个新的类型,如果该数据需要义二进制数据进行存储时,必须进行归档和解档 ,每一次都要每定义一个新类都要进行一次归档和解档的书写,那有没有通用的办法呢?
&上面的问题我们使用runtime来解决,在运行时,动态的获取该类是否遵循NSCoding 协议,动态的遵循该协议,并实现该协议的归档解档方法,如题流程如图:
如题代码如下:&
+ (void)addCodingProtocolToObject:(Class )class{& & &&SEL& encodeSEL =&@selector(encodeWithCoder:);& & &&SEL& decoderSEL =&@selector(initWithCoder:);& [DataManager&addProtocol:@&NSCoding&&toClass:class];& Class destClass = [DataManager&class];& [DataManager&addProtocolMethod:encodeSEL&withClass:destClass&toClass:class];& [DataManager&addProtocolMethod:decoderSEL&withClass:destClass&toClass:class];
+ (void)addProtocol:(NSString&*)protocolName toClass:(Class)class{& & if([protocolName&hasPrefix:@&&&])& & {& & & & protocolName = [protocolName&substringWithRange:NSMakeRange(1, protocolName.length-2)];& & }& &&const&char& *name = [protocolName&UTF8String];& & Protocol *instanceProtocol =&objc_getProtocol(name);& & if(instanceProtocol)& & {& & & & if(class_conformsToProtocol(class, instanceProtocol))&& & & & {&& & & & & & &&& & & & }& & }else& & {& & & & instanceProtocol =&objc_allocateProtocol(name);& & & &&objc_registerProtocol(instanceProtocol);& & }& &&class_addProtocol(class, instanceProtocol);}
+ (void)addProtocolMethod:(SEL)protocolSEL withClass:(Class)selClass toClass:(Class)toClass{& & &&& &&Method& protocolMethod =&class_getInstanceMethod(selClass,protocolSEL);& &&IMP& & protocolIMP =&method_getImplementation(protocolMethod);& &&const&char&*protocolTypes =&method_getTypeEncoding(protocolMethod);& & if(!class_addMethod(toClass, protocolSEL, protocolIMP, protocolTypes))& & {& & & &&class_replaceMethod(toClass, protocolSEL, protocolIMP, protocolTypes);& & }}
- (void)encodeWithCoder:(NSCoder&*)aCoder {& & Class selfClass = self.class;& & while (selfClass &&selfClass != [NSObject&class]) {& & & &&unsigned&int&outCount =&0;& & & &&Ivar&*ivars =&class_copyIvarList([selfClass&class], &outCount);& & & & for (int&i =&0; i & outC i++) {& & & && & & & & &&Ivar&ivar = ivars[i];& & & & & &&const&char&*name =&ivar_getName(ivar);& & & & & &&NSString&*key = [NSString&stringWithUTF8String:name];
& & & & & &&id&value = [self&valueForKeyPath:key];& & & & & & [aCoder&encodeObject:value&forKey:key];& & & & }& & & &&free(ivars);& & & & selfClass = [selfClass&superclass];& & }
- (instancetype)initWithCoder:(NSCoder&*)aDecoder {& & Class selfClass = self.class;& & while (selfClass &&selfClass != [NSObject&class]) {
& & & &&unsigned&int&outCount =&0;& & & &&Ivar&*ivars =&class_copyIvarList(selfClass, &outCount);& & & & for (int&i =&0; i & outC i++) {& & & & & &&Ivar&ivar = ivars[i];& & & & & &&NSString&*key = [NSString&stringWithUTF8String:ivar_getName(ivar)];& & & & & &&id&value = [aDecoder&decodeObjectForKey:key];& & & & & & [self&setValue:value&forKey:key];& & & & }& & & &&free(ivars);& & & & selfClass = [selfClass&superclass];& & }& &}
& & & &以后对任何一个对象转化为NSData 进行存储和传输时,不用每次去手动的实现归档和解档,只用调用该方法即可
+ (void)addCodingProtocolToObject:(Class )class &传入类名
& & &由于归档解档本身不支持可变的集合进行转化为二进制数据存储,所以改方案也不支持可变的集合&NSMutableArray& NSMutableDictionary的类的归档和解档
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:48056次
积分:1137
积分:1137
排名:千里之外
原创:60篇
转载:40篇
(2)(1)(5)(4)(18)(7)(5)(16)(12)(12)(12)(1)当前位置:
  由于服务器BUG导致在2月8日-2月9日期间,iOS 30元充值档位部分用户充值扣款成功后未到账,技术大大正在紧急修复,目前iOS 30元充值项已暂时取消,其他档位充值正常。  安卓用户不受到此问题影响。  充值30元档位尚未到账的用户请耐心等待,官方将会在确认数据后进行补发,并给予双倍钻石补偿。  2月8日充值未到账用户预计2月9日18:00前通过邮件进行补偿发放;  2月9日充值未到账用户预计2月10日18:00前通过邮件进行补偿发放。  此次补偿内容包含您30元充值项异常补发内容,及充值进度计入异常问题补偿内容。给您带来不便敬请谅解,感谢您对游戏的支持与理解。  更多关于游戏最新动态资讯大家不妨关注微信公众号:说玩互娱,长按二维码关注
《暗黑破坏神》系列作为经典魔幻ARPG受到许多玩家的喜爱,而由原暴...
扫一扫下载到手机
扫一扫下载到手机
还可以再输入100个字符
我还是觉得真的好辛苦的感觉,太不容易了,好无力的感觉啊。
老了,撸不动了,需要益智游戏长长脑
很有古典风的感觉,赞一个
《我叫MT英雄杀》删档计费测试走起 首发不再遥远
由于首轮测试非常成功,《我叫MT英雄杀》决定在5月18日这一天开启第二轮删档测试,当然,此次测试依旧可以让玩家体验充值功能,在本次删档内测期间,玩家首笔充值将在不删档内测时进行150%钻石返利,该福利...
《问道》小师妹献礼约老兵 千万福利等候王者归来
《九阴》手游年度资料片“江湖无界”今日破鞘来袭
《胡莱三国2》倾情代言策略手游 神秘霸气女神
《新琅琊榜》手游为你拉郎配 飞流的CP是蔺晨
死神觉醒评测:“划”时代的死神手游
  三大民工漫之一的死神BLEACH是最早进入国人视野的新元素日漫之一,在各大IP手游纷纷浮出水面之后,死神也被寄予众望。而死神觉醒这款手游就是一款改编自死神的手游。从游戏的画面来看,高度还原的原画和技能动作是游戏的最大亮点,下面就由说玩小编来带大家走进死神觉醒这款游戏,来体验一下这款死神手游。
横扫千军评测:横扫三国,一统天下
  三国,这一个动乱的时代造就出了多少英雄豪杰,又有多少故事流传至今,在我们心中久久不能忘怀。正是因为这些令人津津乐道的故事与传奇,三国这个题材一直是游戏的重要题材。由心动打造,以三国为背景的手游《横扫千军》,以其霸道的名字杀入玩家的视线。这样一款主打写实战场的手游,能否更真实的将我们带入那个让人心驰神往的世界,快点跟上说玩小编的脚步,一起进入游戏,一探究竟。
童话大冒险评测:童话世界等你来冒险
  小时候读过的童话故事,相信很多玩家都难以忘怀。经典的小红帽、白雪公主、水晶鞋、拇指姑娘等故事更是如数家珍。童话世界对于我们来讲,总是寄托了纯真的情感以及美好的回忆。如果给你一次穿越到童话世界里冒险的机会,你可愿意?而童话大冒险就是这样一款包含多种童话故事的游戏,下面就跟小编一起来瞧一瞧吧。
圣灵zero评测:“打炮”与卡牌的完美结合
  《圣灵Zero》虽然是一款卡牌游戏,但是其大刀阔斧的对卡牌游戏原有的战斗系统进行了大幅度的创新,整个游戏变得更具有趣味性,而其他系统上的小创新,也能让玩家在游戏中感受到不一样的乐趣。小编在这里就为大家评测下这款游戏。
阴阳师手游
最终幻想觉醒
轩辕剑3手游版
三生三世十里桃花手游
名侦探柯南纯黑的噩梦
天启之门手游下载傲世堂论坛App!论坛领银币!!
浏览过的版块
立习习泰禾
senlin197510
立习习泰禾
niezhenguo
战魂家族大妈
大连金耗耗
逍遥哥哥又来了
天敵小馬哥
无敌是多么寂寞
53兵工厂阿森纳
皇马球迷之球迷
好看不一样
阿森纳俱乐部
阿森纳俱乐部
中场发动机
浏览过的版块
您没有登录,不能回复。
回帖后跳转到最后一页
《最佳阵容》开放下载

我要回帖

更多关于 奇迹暖暖充值30元档位 的文章

 

随机推荐