zoukankan      html  css  js  c++  java
  • 2014年2月11日

    一、NSNotification、NSNotificationCenter类的作用、用法及相关方法:

    1、此两类的作用在于一个对象通过消息中心给多个对象发送消息,不仅仅可给本类对象发送消息,而且能够给其他类的对象发送消息;

    2、主要方法和实例:

    创建一个NSNotificationCenter的对象,并将teacher2添加到消息中心:
    [[NSNotificationCenter defaultCenter] addObserver:teacher2 selector:@selector(doHomework) name:@"doHomework" object:nil];
    创建一个NSNotificationCenter的对象,并将teacher2从消息中心移除,注意,当一个对象被回收时,一定要将其从消息中心中移除!
    [[NSNotificationCenter defaultCenter] removeObserver:teacher2];
    创建一个NSNotificationCenter的对象,并发送消息
    [[NSNotificationCenter defaultCenter] postNotificationName:@"doHomework" object:self userInfo:@{@"wode":@"baobei"}];

    二、NSAsset使用实例:

    若条件成立,则无反应,若不成立,则运行此语句时出错,并打印出:3不大于4;只能在类中定义的方法中使用,主要用于调试。
    NSAssert(a<4, @"3不大于4",a);

    三、NSclassFromstring、NSstringFromclass

    找到ClassOne这个类,并赋值给cls
    Class cls=NSClassFromString(@"ClassOne"); 创建一个ClassOne的对象 id cl=[cls new];
    NSString *str=NSStringFromClass(cls);

      NSLog(@"%@",str);

    打印出:ClassOne

    四、Block

    Block类似于函数指针,但又是一个对象,能够存一些属性

    在Block中不能修改外面的自动变量,除非有__block修饰,但是能够引用外面的变量,引用时自动拷贝一份,当外面的变量发生变化时,块内的变量不发生改变;

    int main(int argc, const char * argv[])
    {
    
        @autoreleasepool {
            
            int u=100;
            
            typedef void (^ block2) (int m);
            
            block2 cc=^(int n){
                NSLog(@"woshi blck2----%d",n);
            };
            
            
            
            void (^ block) (block2 bloc2)=^(block2 bloc2){
               
                NSLog(@"wo shi block");
                
                bloc2(67);
                
                NSLog(@"%d",u);
                
                
            };
            
            block(cc);
            
            
        }
        return 0;
    }
  • 相关阅读:
    正则表达式基础以及应用
    日常使用之css篇
    echarts的使用总结
    &#65279导致页面顶部空白一行
    vue.js单页面应用实例
    BFC的外边距折叠
    .net 跳出Frameset框架
    Cache缓存使用
    Kafka集群搭建及安全机制手册
    PHP学习笔记
  • 原文地址:https://www.cnblogs.com/yueyuanyueyuan/p/3545152.html
Copyright © 2011-2022 走看看