一、基础用法
performSelector响应了OC语言的动态性,延迟到运行时才绑定方法。意味着可以传递一个变量选择器作为参数,向接收方发送指定的消息并返回消息的结果

[obj performSelector:@selector(play)];
[obj performSelector:@selector(play) withObject:@“xx”];
[obj performSelector:@selector(play) withObject:@“xx” withObject:@“ss”];
在主线程执行,并指定是否(waitUntilDone)阻塞此线程
[obj performSelectorOnMainThread:@selector(play) withObject:@“xx” waitUntilDone:YES/NO];
在新的后台线程上调用接收方的方法,此方法在应用程序中创建一个新线程,如果应用程序尚未处于多线程模式,则将其置于多线程模式。
[obj performSelectorInBackground:@selector(play) withObject:@“xx”];

编译阶段并不会去检查方法是否有效存在,只会给出警告:
Undeclared selector ‘'

如果要执行的方法名是动态不确定的一个参数,编译器只会提示说因为当前方法名未知可能会引起内存泄漏相关问题:
[obj performSelector:selector];
PerformSelector may cause a leak because its selector is unknown

二、延迟执行
[obj performSelector:@selector(play) withObject:@“test” afterDela

performSelector详解相关推荐

  1. iOS-NSThread编程详解

    note:文明看帖转载是对自己的尊重也是对学者的鼓励,欢迎批评讨论 iOS多线程-NSThread编程详解 再iOS开发中存在三种比较常用的实现多线程编程的方法,NSThread,NSOperatio ...

  2. 李洪强iOS经典面试题156 - Runtime详解(面试必备)

    李洪强iOS经典面试题156 - Runtime详解(面试必备)   一.runtime简介 RunTime简称运行时.OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 对于C ...

  3. iOS 开发:『Runtime』详解(二)Method Swizzling

    本文用来介绍 iOS 开发中『Runtime』中的黑魔法Method Swizzling. 通过本文,您将了解到: Method Swizzling(动态方法交换)简介 Method Swizzlin ...

  4. python 自动化发送邮件_Python自动化必备发送邮件报告脚本详解

    #!/usr/bin/python3 # -*- coding:UTF-8 -*- import smtplib #smtplib库主要用来连接第三方smtp库,用来发邮件 from email.mi ...

  5. iOS绘图详解-多种绘图方式、裁剪、滤镜、移动、CTM

    iOS绘图详解 摘要: Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的 绘 ...

  6. 【iOS沉思录】如何招聘一个靠谱的 iOS程序员+面试题详解

    说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外,其他54道均为简答题. 出题者简介: 孙源(sunnyxx),目前就 ...

  7. UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例)  和 IOS6屏幕旋转详解

    1. UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例) 博客分类: IOS / Objective-C UIDeviceOrienta ...

  8. iOS runtime 底层详解、内部原理、场景应用

    前言学:位域和共用体 一:isa指针--runtime之前的学习 1.1:苹果应用的按位或.按位与 二:类对象信息 2.1:类对象信息:rw_t 2.2:类对象信息:方法缓存(很关键) 2.2:类对象 ...

  9. JSPatch实现原理详解:让JS调用/替换任意OC方法

    JSPatch实现原理详解:让JS调用/替换任意OC方法 2015-07-10 09:05 编辑: suiling 分类:iOS开发 来源:bang JSPatch以小巧的体积做到了让JS调用/替换任 ...

最新文章

  1. 经验 | OpenCV图像旋转的原理与技巧
  2. valgrind安装使用
  3. cambridge mphil in management result
  4. titanic数据集_TF2.0结构化数据建模流程范例
  5. C++继承中的普通函数,纯虚函数、虚函数
  6. 腾讯开源国际化新突破,将紧密参与全球开源治理
  7. 分享网页加载速度优化的一些技巧?
  8. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...
  9. @Profile注解与@Conditional注解
  10. Java中如何遍历Map对象(值得借鉴)
  11. 洛谷 - P1034 - 矩形覆盖 - dfs
  12. php intval和ceil,php取整函数ceil,floor,round,intval的区别
  13. 秋招很倒霉,但最终还是触底反弹了
  14. 在pdf上进行修改文字,PDF文字修改方法
  15. matlab中ode23s使用方法,MATLAB中ode23函数,龙格库塔函数
  16. spacy中en_core_web_sm安装问题
  17. linux服务器之间文件传输scp
  18. 高级WEB前端游戏开发视频教程
  19. ChatGPT官宣数学能力再升级,网友:终于精通十以内加减法了
  20. tp5 {if}判断标签 在Html页面中使用

热门文章

  1. 世界国家中英文(json格式)
  2. 蚂蚁金服上市估值2k亿美金!10年老程序猿却笑不起来
  3. Jetson Agx Xavier平台调试AR0820相机分辨率缩放3848x2168 to 1920x1080
  4. 【Scikit-Learn 中文文档】高斯过程 - 监督学习 - 用户指南 | ApacheCN
  5. Sublime Text 2 (for OS X )配置成可以运行基于python3解释器的 .py文件
  6. 集成学习精讲01 - SAP大神黄佳新作《零基础学机器学习》节选
  7. eclipse安装后,出现“can not create the java virtual machine”错误的另一种原因和解决方案
  8. Linux复制命令cp进阶
  9. 离散数学8.2.4主析取范式
  10. ASP.NET和.NET Core项目.gitignore模板