zoukankan      html  css  js  c++  java
  • oc小总结

    oc的一些总结

    下面几个问题是oc中需要掌握的内容

    1.如何掌握一个方法的方法名
    2.一个对象调用一个autorelease,什么时候释放
    3.字典和数组,集合都有什么特点
    4.如何定义一个类
    5.类目是什么
    6.什么是对象
    7.属性的属性,(assgin )
    8.不要再setter中调用自己,负责会死循环
    8.可变字符串改变的还是自己
    9.字典里面key必须是唯一的,新key会覆盖旧值
    10.类方法里不能使用实际变量
    11.dealloc什么时候调用,注意事项
    12.内存管理
    13.初始化方法是做什么用的
    14.怎么去使用block变量
    ,掌握声明定义
    15.属性方法的setter内部实现
    16.便利构造器怎么写
    17.如何处理autorelease对象

    一些小的知识点

    id是一个指向任意对象类型

    "+" +方法即类方法不能调用自己类的实例变量

    #import 将一个文件的全部文件内容拷贝到当前文件

    私有不会拷贝过去,因为import的时.h文件而不是.m文件

    类目中一班添加没有的方法,而不是重写,重写一般是在子类中重写

    输出字典的时候key = value

    类的初始化作用:在创建对象后,对这个刚刚创建的实例对象进行初始化操作,即做一些默认操作

    堆区是手动管理内存

    栈区是系统管理内存

    BLOCK的无返回值声明:void (^block)(NSString *str);

    NSString *testObject = [[NSData alloc] init]; testObject 在编译和运行时分别是什么类型

    编译时是NSString类型    运行时是NSData类型

    协议的property声明用什么属性?为什么?

    协议是多个类分享的一个方法列表,在协议中所列出的方法没有响应的 实现,    有其他人来实现
    协议的property声明用assign特性,因为要防止对象和其他代理对象之间互相应用,导致无法释放内存
    在block内部要改变外部变量时,需要使用_block关键字
     
    扩展一个累的功能有几种途径?有什么区别?
    类目:类目可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除原有方法,但是无法添加实例变量
    延展:延展可以同时添加实例变量和方法,而且添加的方法必须实现,可以视为一个私有的类目
    协议:协议是多个类共享的一个发方法列表,在协议中所列出的方法没有响应的实现
    继承:不但可以添加实例变量和方法,也可以重写原有类的方法
     
    用一个autorelease  必须在@autoreleasepool{   }中使用
     
    请完成声明一个返回值是bool类型,并且带两个字符串对象的BLOCK类型变量
    BOOL (^ablock)(NSString *str1 , NSString *str2);
    为BLOCk变量赋值,使该变量具有判断两个字符串对象是否相等的功能;并使用该BLOCK变量测试两个字符串@“Abc”,@“abc”是否相等
    BOOL (^ablock)(NSString *str1,NSString *str2);
    ablock = ^(NSString *str1,NSString str2)
    {
    if([str1 isEqualTOString:str2])
    {
    return YES;
    }
    return NO;
    }
    NSLog(@“%@“,ablock(@“Abc”,@“abc”)?@“一样”:@“不一样”);
  • 相关阅读:
    24节气冬至
    最佳人体舒适温度是多少?
    常用正则
    点击按钮后的Loading处理
    支付时过渡动画
    npm ci 和 npm install
    Vue批量上传文件及实时进度
    HTML DOM classList 属性的使用
    Electron Uncaught ReferenceError: require is not defined
    javascript 深拷贝的问题
  • 原文地址:https://www.cnblogs.com/limicheng/p/3832374.html
Copyright © 2011-2022 走看看