zoukankan      html  css  js  c++  java
  • 方法选择器

    //选择器是变量类型

    SEL sel = @selector(memoryClear);

    //选择器有点像函数指针,都能代表方法。 

    //选择器变量sel存储的是能唯一代表方法名的标识(1001)。

    //@selector(方法名),@selector能取得标识方法名的那个唯一的标识

    SEL sel = @selector(memoryClear);

    //通过选择器可以直接调用私有方法。(不建议使用)

    [xiaoming performSelector:sel];

    //通过performSelector方法可以调用选择器所代表的方法。

    [xiaoming performSelector:@selector(memoryClear)];

    //通过选择器调用带一个参数的方法,参数写在withObject后

    [xiaoming performSelector:@selector(setName:) withObject:@"smiss"];

    //OC通过选择器来调用带参数的方法最多只能带两个

    [xiaoming performSelector:<#(SEL)#> withObject:<#(id)#> withObject:<#(id)#>];

    objc_msgSend(receiver, selector) 
    同时接收消息中的任意数目的参数: 

    objc_msgSend(receiver, selector, arg1, arg2, ...) 
    该消息函数做了动态绑定所需要的一切: 

    它首先找到选标所对应的方法实现。因为不同的类对同一方法可能会有不同的实现,所以找到的方法实现依赖于消息接收者的类型。 
    然后将消息接收者对象(指向消息接收者对象的指针)以及方法中指定的参数传给找到的方法实现。 
    最后,将方法实现的返回值作为该函数的返回值返回。 
    注意:编译器将自动插入调用该消息函数的代码。您无须在代码中显示调用该消息函数。 
    消息机制的关键在于编译器为类和对象生成的结构。每个类的结构中至少包括两个基本元素
  • 相关阅读:
    剑指offer 顺时针打印矩阵
    剑指offer队列中的最大值
    固定顶部指定div不滑动
    调整圆环统计图格式
    补插一个MUI中UI组件示例地址
    统计图左右滑动
    mui集成百度ECharts的统计图表以及清空释放图表
    页面ajax自带的访问后台时,正在加载中
    js弹出div层内容(按回退键关闭div层及遮罩)
    地图经纬度定位不准
  • 原文地址:https://www.cnblogs.com/uncle4/p/5459803.html
Copyright © 2011-2022 走看看