240 发简信
IP属地:上海
  • @Legend_劉先森 我这边需求是将项目中的NSUserDefaults存储的内容进行加密,所以用自定义方法替换了setObject:forKey:和objectForKey:,分别在新的方法里进行对数据的加解密,但是ZDY_newObjForKey方法里用修改的object值return后老是崩溃,求解

    @implementation NSUserDefaults (ZDYUserDefaults)

    + (void)load {
    Method fromMethod = class_getInstanceMethod([self class], @selector(setObject:forKey:));
    Method toMethod = class_getInstanceMethod([self class], @selector(ZDY_setNewObj:forKey:));
    method_exchangeImplementations(fromMethod, toMethod);

    Method fromMethod1 = class_getInstanceMethod([self class], @selector(objectForKey:));
    Method toMethod1 = class_getInstanceMethod([self class], @selector(ZDY_newObjForKey:));
    method_exchangeImplementations(fromMethod1, toMethod1);
    }

    - (void)ZDY_setNewObj:(id)object forKey:(id)key {

    object = @"1111111";
    [self ZDY_setNewObj:object forKey:key];
    }

    - (id)ZDY_newObjForKey:(id)key{
    id object = [self ZDY_newObjForKey:key];
    if ([object isKindOfClass:[NSNull class]]) {
    object = @"";
    }else{
    object = @"222222";
    }
    return object;
    }

    @end:disappointed_relieved: :pensive: :pensive:

    iOS中Runtime的常用方法

    Runtime是什么? Apple关于Runtime的详细文档链接:Runtime Guide其实大家对Runtime算是既熟悉又陌生的,因为在学习Objective-C的时...

  • 请问你objectForKey的解决了吗,我这边修改了object的值后return,老是报错

    iOS中Runtime的常用方法

    Runtime是什么? Apple关于Runtime的详细文档链接:Runtime Guide其实大家对Runtime算是既熟悉又陌生的,因为在学习Objective-C的时...

  • iOS学习提升资源汇总

    程序员必备基础知识点(活到老学到老的知识点) 算法和数据结构 LeetCode 算法导论 剑指 offer 计算机系统原理 深入理解计算机系统 操作系统原理和基础 网络方面 ...

  • 120
    2018收集iOS笔试题(仅供参考学习使用)

    第一波: 自答:说实话,刚刚看到这套面试题,我觉得还是很难的,这是要招聘大牛的节奏啊...好吧,菜鸟一枚的我来试着回答一下. 1.什么是函数式编程?说起链式编程和函数式编程,...

  • 在Mac上搭建React Native开发环境(一)

    参见RN官网环境搭建 简单阐述步骤如下: 1.安装Homebrew:用于安装NodeJS和其他工具 /usr/bin/ruby -e "$(curl -fsSL https:...

  • 120
    在现有android项目上集成RN(二)

    现在很多公司因为发展需要集成RN,但是要在现有的android项目上如何去集成呢?That's a Question,这篇文章主要就是讨论下如何集成,大神绕步 很慌有没有,...

  • 120
    RN与android简单通信(四)

    本文主要介绍RN与android之间的通信,大神绕步混合开发中,我们经常会遇到各种各样的通信问题,比如java和C++之间的互相调用,ok,闲话少说,我们直入主题。 首先我们...

  • 120
    RN加载Bundle的方式(三)

    前面我们讨论了如何启动服务来展示js页面,那么能不能不开启服务就能实现同样的功能呢,答案显而易见。首先我们来看一段源码,这段代码主要功能是生成ReactInstanceMan...

  • 120
    RN原生模块的调用基础(五)

    假设现在我们要画一个圆,当然,你可以用js自己去实现,但是今天要讲的并不是js去实现圆,而是在Native端去写一个View去暴露给js调用,ok,我们废话少说,进入正题 暴...