respondsToSelector的相关使用

  • -(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例
  • -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例
  • -(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)
  • +(BOOL) instancesRespondToSelector: selector 用来判断实例是否有以某个名字命名的方法. 和上面一个不同之处在于, 前面这个方法可以用在实例和类上,而此方法只能用在类上.
  • -(id) performSelector: selector

    SEL sel = @selector (start:) ; // 指定action

    if ([obj respondsToSelector:sel])

    { //判断该对象是否有相应的方法

    [obj performSelector:sel withObject:self]; //调用选择器方法

    }

    使用[[UIApplication sharedApplication] keyWindow]查找应用程序的主窗口对象

    respondsToSelector判断是否实现了某方法

时间: 2024-08-01 09:02:28

respondsToSelector的相关使用的相关文章

iOS中respondsToSelector与conformsToProtocol的相关理解和使用

respondsToSelector相关的方法:-(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例-(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例-(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)+(BOOL) instancesRespondToSelector: selector 用来判断实例是否有

IOS学习 - 方法选择器Selector的相关使用

问题的由来 Objective-C是一门动态的语言,只要有可能,Objective-C总会使用动态的方式来解决问题,比如它尽可能的将编译和连接要做的事推迟到运行时,所以它需要一个强大的运行时系统(runtime)来执行编译好的代码.runtime的角色类似于Objective-C语言的操作系统,是Objective-C的灵魂.Objective-C的很多特性都是基于这个强大的运行时的,是十分值得去学习理解的. 动态语言Objective-C很常见的一个消息发送语句(比较准确的说是消息发送,在不混

UIResponder 以及事件相关..还有第一响应对象

在iOS 中,一个 UIResponder 对象表示一个可以接收触摸屏上的触摸事件的对象,通俗一点的说,就是表示一个可以接收事件的对象. iOS 中,所有显示在界面上的对象都是从 UIResponder 直接或间接继承的. 下面是 UIResponder 类的一些定义信息: 触摸事件相关: 方法名称 说明 touchesBegan:withEvent 当用户触摸到屏幕时调用方法 tochesMoved:withEvent 当用户触摸到屏幕并移动时调用此方法 tochesEnded:withEve

IOS开发Q&A-IOS8定位应用定位失败及音频录制的相关参数

一. 问题描述:使用xcode6和ios8开发定位应用时,发现执行操作之后,不会调用到定位之后的delegate方法中.查看了一下手机上对应用的定位权限界面,发现我的应用的访问用户的地理位置的权限是空的,即使设置了定位权限依然不会生效.当查阅了相关资料以后,得到如下解决方案: 解决方案: step1: 在 info.plist里加入: NSLocationWhenInUseDescription,允许在前台获取GPS的描述 NSLocationAlwaysUsageDescription,允许在

Object-C中动态类型对象相关操作汇总

Object-C(以后简称OC)中有id类型,相对于明确定义类型的静态类型,称为动态类型. 使用动态类型,配合多态(不同类型拥有同名方法),动态绑定(运行时决定实际调用的方法)可以将很多判断延迟到运行时决定,比如运行时才决定对象是某个类型,决定调用哪个类型的方法等.这样提高了灵活性,但是同样带来了风险,所以和支持动态类型的其他面向对象的语言一样,需要提供机制来做运行时判断,这样可以一定程度规避运行时错误. 看到一个动态类型的实例对象,我们都会习惯提出的问题: 1. 这个对象是属于某个类么?或者这

软件系统、硬件相关

1.软件系统 /** App版本 */ #define APP_VERSION [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] /** 获取系统版本 */ #define IOS_SYSTEM_VERSION [[[UIDevice currentDevice] systemVersion] floatValue] #define CurrentSystemVersi

【Windows10 IoT开发系列】PowerShell的相关配置

原文:[Windows10 IoT开发系列]PowerShell的相关配置 可使用 Windows PowerShell 远程配置和管理任何 Windows 10 IoT 核心版设备.PowerShell 是基于任务的命令行 Shell 和脚本语言,专为进行系统管理而设计. 1.​启动 PowerShell (PS) 会话 注:若要使用装有Windows10 IoT Core设备启动PS会话,首先需要在主机电脑与设备之间创建信任关系. ​启动 Windows IoT 核心版设备后,与该设备相连的

微信小程序--图片相关问题合辑

图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.previewImage预览图片 微信小程序之预览图片 小程序开发:上传图片到腾讯云 .NET开发微信小程序-上传图片到服务器 微信小程序本地图片处理--按屏幕尺寸插入图片 [微信小程序]上传图片到阿里云OSS Python Flask小程序文件(图片)上传技巧 小程序图片上传阿里OSS使用方法 微信小程序问题汇

Android studio界面相关设置

Android studio界面相关设置 原文出自 http://www.cnblogs.com/justinzhang/p/4274839.html 用惯了emacs的操作方式,每当使用一款新的编辑器的时候,第一个想到的就是这个工具有没有emacs的快捷键,Android studio也是一样的. 1. Android studio设置emacs的方式如下,点击File->Settings 选择其中的keymap,在keymap中选择emacs,这样就成功的设置好了emacs的操作模式: 2.