美文网首页
iOS 类和函数的映射

iOS 类和函数的映射

作者: lukyy | 来源:发表于2025-03-16 11:29 被阅读0次

使用场景:数据解析、动态调用

- (void)test {
    /*
     * 一).类的映射
     */
    // 1.通过字符串获取类
    NSString *className = @"Student"; // MyClass
    Class targetClass = NSClassFromString(className);
    if (targetClass) {
        // 2. 创建类的实例
        // 3. 设置属性
        id instance = [[targetClass alloc] init];
        [instance setValue:@"John" forKey:@"name"];
        [instance setValue:@30 forKey:@"age"];
        // 4. 调用方法
        if ([instance respondsToSelector:@selector(printInfo)]) {
            [instance performSelector:@selector(printInfo)];
        } else {
            NSLog(@"方法 printInfo 不存在");
        }
    } else {
        NSLog(@"类 %@ 不存在", className);
    }

    
    /*
     * 二).SEL的映射
     */
    // 创建类的实例
    MyClass *myInstance = [[MyClass alloc] init];
    // 1.通过字符串映射 SEL
    // 2.检查方法是否存在
    // 3.调用无参数方法
    NSString *methodName1 = @"printHello";
    SEL selector1 = NSSelectorFromString(methodName1);
    if ([myInstance respondsToSelector:selector1]) {
        [myInstance performSelector:selector1];
    } else {
        NSLog(@"方法 %@ 不存在", methodName1);
    }
    // 调用带一个参数的方法
    NSString *methodName2 = @"printMessage:";
    SEL selector2 = NSSelectorFromString(methodName2);
    if ([myInstance respondsToSelector:selector2]) {
        // 使用 performSelector:withObject: 调用带一个参数的方法
        [myInstance performSelector:selector2 withObject:@"带一个参数"];
    } else {
        NSLog(@"方法 %@ 不存在", methodName2);
    }
    
}

相关文章

  • java高级用法之:在JNA中使用类型映射

    简介 JNA中有很多种映射,library的映射,函数的映射还有函数参数和返回值的映射,libary和函数的映射比...

  • ios 类的加载之类与分类搭配加载分析

    在类的加载这篇文章中,_read_images这个函数中我们分析到doneOnce,类的插入表,重映射和非懒加载类...

  • VC++(四)简单绘图

    MFC消息映射机制 MFC消息映射机制的具体实现方法是:在每个能接收和处理消息的类中,定义一个消息和消息函数静态对...

  • OpenCV 之ios Remapping 重映射

    OpenCV 之ios Remapping 重映射 目标 本教程向你展示如何使用OpenCV函数 remap 来...

  • php 容器实现依赖注入

    依赖注入是通过 php 的映射函数,解析到类在实例化的时候所依赖的类,直接将类实例化 封装一个全局函数 使用

  • iOS路由简说

    一、概念 路由就是URL到函数的映射;对于客户端来说,就是把URL映射到响应的类或者controller。 如何能...

  • 函数应用和映射

    Numpy 中的通用函数方法(逐元素数组方法)对 pandas 也有效 将一个函数用到一行或一列一维数组上 每一列...

  • 8.Hook对传统react编程的影响

    1.生命周期函数如何映射到Hooks? 2.类实例成员如何映射到hooks? 3、hooks中如何获取历史prop...

  • 闭包与数组的过滤,映射,缩减

    函数的详细解析(闭包的讲解) 数组的过滤,映射,缩减(与闭包的结合使用) 类的介绍 (类的属性,方法)

  • scala学习笔记(1-8)

    scala文档 包含内容 1基础 2控制结构和函数 3数组相关操作 4映射和元组 5类 6对象 7.包和引入(x)...

网友评论

      本文标题:iOS 类和函数的映射

      本文链接:https://www.haomeiwen.com/subject/fiugmjtx.html