iOS开发实用技巧—super、superClass、class的区别
生活随笔
收集整理的這篇文章主要介紹了
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
總結
以上是生活随笔為你收集整理的iOS开发实用技巧—super、superClass、class的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NPV函数
- 下一篇: 微信服务号、订阅号和企业号的区别(运营和