IOS Objective-c知识

作者: 小暖风 | 来源:发表于2017-08-19 17:44 被阅读20次

    Objective-C的类型和常量

    id是一个指针类型,可以指向任何类型的对象。

    BOOL 和char是一样的,但是作为布尔值使用,YES表示1,NO表示0.

    IBOuttlet是个没有任何意义的宏,可以忽略。当interface Builder从.h文件中读取类定义时,这个宏会对其做出一个提示。

    IBAction和void是一样的。

    nil 表示一个objective-c对象,这个对象的指针指向空(没有东西就是空)。

    Nil 定义一个指向空得类(是Class,而不是对象)。

    NULL,是因为我们用来表示对象的指针为空。

    #import和#include是一样的,但是#import可以确保引用的文件只被引用一次。

    Objective-c语法快速参考

    Cocoa是一大堆函数库,是已经写好的一堆现成的东西,知道怎么用就可以。

    1.减号和加号 减号表示一个函数或者方法或者消息的开始。加号的意思就是其它函数可以直接调用这个类中的这个函数,而不用创建这个类的实例。

    2.中括号 中括号可以认为是如何调用你刚才写的这个方法,通常在Objective-C里说“消息”。

    3.NS****老乔公司的NextStep里面的规范。

    4.多个参数的写法(方法的数据类型)函数名:(参数1数据类型)参数1的数值的名字 参数2的名字:(参数2数据类型)参数2值的名字。。。。;

    5.@“”是把C的字符串转换成NSString的一个简写,@“”转换不支持中文。

    retain和copy的区别

    copy:建立一个索引计数为1的对象,然后释放旧对象。

    retain:释放旧的对象,将旧的对象的值赋予输入对象,再提高输入对象的索引计数为1.

    copy其实是建立了一个相同的对象,而retain不是。也就是说retain是指针拷贝,copy是内容拷贝。

    NSUserDefaults 存储数组(无论存的为可变数组还是不可变数组,取出来后,一律变为不可变数组)

    //判断该对象是否实现了MyChooseDayViewDelegate协议

    if([myClassView conformToProtocol:@protocol (MyChooseDayViewDelegate)]){

    //TODO: balabalabala...

    }

    //判断对象是否实现了某个方法就用我们经常会使用到的

    if([myClassView responseToSelector:@selector(xxxx)]){

    //TODO: balabalabala...

    }

    相关文章

      网友评论

        本文标题:IOS Objective-c知识

        本文链接:https://www.haomeiwen.com/subject/nantdxtx.html