iOS笔记—Dynamic

Objective-C是动态类型(dynamicaly typed)语言,在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。
动态类型 Dynamic typing,即等到程序执行时才确定所属的类。

动态绑定 Dynamic binding,即等到程序执行时才确定实际要调用的方法

动态加载 Dynamic loading,即根据真机加载所需要的资源(ios开发对不同机型的适配,一倍图,二倍图,三倍图即使用该机制)


我们可以用下面这个方法判断它是否是这个类或者这个类的子类的实例
- ( BOOL )  isKindOfClass:
看下例子. MyViewController是继承UIViewcontroller    self 也是。
- (void)viewDidLoad {
    [super viewDidLoad];
    UIView * view = [[UIView alloc]init];
    [self.view addSubview:view];
    
    MyViewController *my = [[MyViewController alloc]init];
    
    BOOL isequl1 = [self isKindOfClass:[ViewController class]];
    BOOL isequl2 = [self isKindOfClass:[my class]];
    NSLog(@"%d,%d",isequl1,isequl2);
    
    // Do any additional setup after loading the view, typically from a nib.
}
打印的结果是
[7205:4348845] 1,0
说明 当前类是UIViewcontroller的实例  但是my不是。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值