当前位置: 首页 > ds >正文

iOS开发实用技巧—super、superClass、class的区别

class:获取方法调用类名
superclass:获取方法调用者的父类类名
super:编译修饰符,不是指针,指向父类标志,
本质还是拿到当前对象去调用父类的方法
注意:super并不是拿到父类对象去调用父类方法
 1 #import <Foundation/Foundation.h>
 2 @interface Person : NSObject
 3 - (void)test;
 4 @end
 5  
 6 #import "Person.h"
 7 @implementation Person
 8 - (void)test
 9 {
10     // self:SonPerson
11     // 输出结果 SonPerson Person self:SonPerson
12      NSLog(@"%@ %@ %@",[self class],[self superclass],[super class]);
13 }
14 @end
15  
16 #import "Person.h"
17 
18 @interface SonPerson : Person
19 @end
20  
21 #import "SonPerson.h"
22 
23 @implementation SonPerson
24 - (void)test
25 {
26     // 输出结果:SonPerson Person SonPerson
27 //    NSLog(@"%@ %@ %@",[self class],[self superclass],[super class]);
28     [super test];
29 }
30  
31 #import "ViewController.h"
32 
33 #import "SonPerson.h"
34 
35 @interface ViewController ()
36 
37 @end
38  
39  
40 #import <UIKit/UIKit.h>
41 @interface ViewController : UIViewController
42 @end
43  
44 @implementation ViewController
45 - (void)viewDidLoad {
46     [super viewDidLoad];
47     SonPerson *son = [[SonPerson alloc] init];
48     [son test];
49 }
50 @end
输出结果:SonPerson Person SonPerson

转载于:https://www.cnblogs.com/zengshuilin/p/5776835.html

http://www.xdnf.cn/news/11313.html

相关文章:

  • IT从业人员必看的10个论坛
  • 汉诺塔(又称河内塔)
  • linux下网络发包工具
  • 均匀分布白噪声和高斯白噪声及其matlab产生方式
  • MybatisPlus:泛型方法使用 default <V> List<V> listObjs(Function<? super Object, V> mapper)
  • Win10下Windows Mobile设备中心无法连接斑马PDA 、无法拷贝文件———— Windows 设备中心64位安装包
  • i春秋首届全国数据安全大赛部分复盘
  • 【吐血整理!20个CC0正版素材网站,值得珍藏】自媒体视频创作者必备
  • android wifi 网桥,史上最全无线网桥知识,收藏这一篇就够了!
  • Java实现钉钉自定义机器人接入
  • Three.js(学习)
  • 云计算基础、Iass、Pass、Sass区别
  • 6-php的web环境安装
  • 【一文带你了解bluetooth】
  • 凶残的挖矿脚本,奴役我数千机器!
  • Google Web Designer for mac(专业网站设计工具)
  • 什么是金叉、死叉
  • java soap api操作和发送soap消息
  • numpy中的nonzero()
  • 什么是ip数据库
  • 安装 Windows 7 VM虚拟机
  • 重装系统基础教程
  • layout布局_关于 layout_weight,你到底知多少
  • 硅基流动完成近亿元融资:加速生成式AI技术普惠进程
  • 想要自己制作一款游戏,需要掌握哪些基本技能
  • android HorizontalScrollView讲解
  • 3D动画软件
  • 电脑操作系统的安装
  • RapidXML的使用
  • Qt 是一个功能强大的跨平台开发框架