学习笔记(OC)--Foundation框架的基本应用一

来源:互联网 发布:乳晕 冰点脱毛 知乎 编辑:程序博客网 时间:2024/05/21 22:38

      框架是许多类,函数,方法组成的一个类库。以方便开发者更好的开发程序。Foundation框架是OC语言的基础框架,框架中的类都是以"NS(NextStep)"为前缀 。Foundation类的根是NSObject和NSCoping协议组成的,这两个定义了类的基本属性和方法。继承自NSObject的常用类大致有:NSString,NSArray,NSDictionary,NSValue,NSDate,NSSet等。

NSObject类中的一些常用方法:

1.比较两个指针是否指向同一个对象,看两个对象是否是同一个对象,即两个对象是否指向同一地址。-(BOOL)isEqual:(id)boject;

        //创建两个对象p1,p2
        NSObject *p1=[[NSObject alloc]init];
        NSObject *p2=[[NSObject alloc]init];
        //-(BOOL)isEqual:(id)boject;通过方法的声明可以看出,方法的返回值是BOOL类型的,所以用BOOL类型的变量去接收,方法的传入参数是id类型(非基本类型的任意类型),p2是类NSObject声明的符合条件。
        //由于p1与p2是NSObject类声明的两个独立的指针变量,他们指向的堆地址不同,result1=0
        bool result1=[p1 isEqual:p2];
2.调用一个方法,没有声明直接调用(暴力调用)-(id)performSelector:(SEL)aSelector;
        Person *person=[[Person alloc]init];
        //-(id)performSelector:(SEL)aSelector;SEL相当于函数指针
        SEL sel =NSSelectorFromString(@"test");
        [person performSelector:sel];
        [person performSelector:@selector(test1:) withObject:@20];//20是参数

3.某一对象是否派生或属于某一类        //-(bool)isKindOfClass:(Class)aClass
        Class class1=[person class];//返回当前对象的类
        bool result2=[person isKindOfClass:class1 ];
4.某一对象是否属于某一类        //-(bool)isMemberOfClass:(Class)aClass
        BOOL result3=[person isMemberOfClass:class1];
5.某对象是否相应指定的方法         //-(bool)respondToSelector:(SEL)aSelector,判断某对象是否能调用某方法
        BOOL result4=[p1 respondsToSelector:@selector(test)];
6.-(Class)superclass:返回指定对象的父类与—(Class)class:返回指定对象的本类
        Class class3=[person superclass];
        BOOL result5=[person isMemberOfClass:class3];

0 0
原创粉丝点击