zoukankan      html  css  js  c++  java
  • [Objective-c 基础

    A.给某个类扩充方法(不改变原来的类)
    例如,给类Person加上名为Simon的category,加上一个-study方法
    使用()注明
    Person+Simon.h
    复制代码
     1 @interface Person (Simon)
     2 - (void) study;
     3 @end
     4  
     5 Person+Simon.m
     6 @implementation Person (Simon)
     7 - (void) study
     8 {
     9     NSLog(@"学习----");
    10 }
    11 @end
    复制代码
     
    使用:
    复制代码
     1 #import <Foundation/Foundation.h>
     2 #import "Person.h"
     3 #import "Person+Simon.h"
     4 
     5 int main(int argc, const char * argv[]) {
     6     @autoreleasepool {
     7         Person *p = [[Person alloc] init];
     8         [p study];
     9     }
    10     return 0;
    11 }
    12  
    复制代码
    !!注意:
    1.只能增加方法,不能增加成员变量;
    2.分类方法可以访问原来的成员变量;
    3.分类和原类存在同名方法的时候,分类的方法优先级比较高,会覆盖原类的同名方法;
    4.多个分类存在同名方法的时候,调用决定于编译顺序,调用最后编译的(编译顺序可以在项目设置的“Buid Phases”中修改);
     
     
  • 相关阅读:
    linux 创建python虚拟环境
    dic1.update(dic2)和{**dic2, **dic1}的区别
    redis
    电脑开机一卡一卡的,重启就好了
    股东大会和董事会的区别
    word空白框打钩
    计划资产回报
    成本法为什么要转权益法
    租赁负债
    AIDA64序列号
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4501604.html
Copyright © 2011-2022 走看看