zoukankan      html  css  js  c++  java
  • objective-c 快速学习1-语言特色

    1.类的+ 方法。

    一个贴心的设计。可以让某些和类相关的方法,直接放到类中,避免放入到全局中,污染全局空间。

    2.非基本类型都是强制放入堆中。

    让思想统一,比起c++的自由所带来的混乱,可谓功德无量。

    3.  还是c#做的好。有关键字语法糖。

    对于返回多个非指针类型,就临时用下指针吧。而返回指针类型。就用指针的指针。

    +(void)GetIndexFromCode:(NSString *)code province:(NSInteger *)province city:(NSInteger*)city allcitys:(NSMutableArray<NSMutableArray<struct_city*>*> *)allcitys
    {
    int pc=(int)allcitys.count;
    for (int i=0; i<pc; i++) {
    int cc=(int)allcitys[i].count;

    for(int j=0;j<cc;j++)
    {
    if(allcitys[i][j].codeID==code)
    {
    *city=j;
    *province=i;
    }
    }
    }
    }

    4.构造函数相关。

    initwith

      有时候我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,错误信息如下:error:Cannot assign to 'self' outside of a method in the init family

    原因:只能在init方法中给self赋值,Xcode判断是否为init方法规则:方法返回id,并且名字以init+大写字母开头+其他  为准则。例如:- (id) initWithXXX;

    ios 真是一个“灵活的”语言。

    禁用默认构造函数

    - (instancetype)init UNAVAILABLE_ATTRIBUTE;
    + (instancetype)new UNAVAILABLE_ATTRIBUTE;
  • 相关阅读:
    C++
    Qt简介
    C语言
    C/C++
    swagger2 Illegal DefaultValue null for parameter type integer
    maven包引入问题ClassNotFoundException: org.elasticsearch.client.Cancellable
    mysql自定义排序
    使用node创建服务器 运行vue打包的文件
    rsync实现服务器之间同步目录文件
    将jar包发布到maven的中央仓库细节整理
  • 原文地址:https://www.cnblogs.com/lsfv/p/9132865.html
Copyright © 2011-2022 走看看