下面是我在学习的过程中学到的一点知识,虽然很肤浅,不过本人也想与大家一起分享!希望多指点。
先看代码结构
Test
   main.m
   SceneManager.h
   SceneManager.m
   
SubSceneManager.h
   
SubSceneManager.m
------------------
下面是代码实现:
SceneManager.h 
#import <Foundation/Foundation.h>
@interface 
SceneManager : NSObject
- (void) 
go;
@end
SceneManager.m
#import 
"SceneManager.h"
// 对类的延展 - 隐藏方法 wrap的一种手段(非强制)
@interface 
SceneManager ()
+ (void) wrap;
@end
    
@implementation 
SceneManager
- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
    }
    
    return self;
}
- (void) go {
    NSLog(@"method of go");
}
+ (void) wrap {
    NSLog(@"method of wrap");
}
@end
SubSceneManager.h
#import 
"SceneManager.h"
@interface SubSceneManager : 
SceneManager
@end
SubSceneManager.m
#import 
"SubSceneManager.h"
@implementation SubSceneManager
- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
    }
    
    return self;
}
@end
main.m
#import 
<Foundation/Foundation.h>
#import "SceneManager.h"
#import 
"SubSceneManager.h"
int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
    SceneManager *sm = [[SubSceneManager alloc] init];
    [sm go];
   
    // 此句应该注释掉 
/*
    [SceneManager wrap];      // 这里会抱一个警告:Class method of "+ wrap" not found
                                          // 不过虽然是警告,不过运行是正常的,不过这么写在自我规范上不好,即使编译器没有做强制限制,我们自己也要限制自己。
                                          // 不然,延展方法就毫无意义可言。
*/
    [pool drain];
    return 0;
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------
这虽然不能强制限制调用,可是算是一种好的编码习惯吧? 我这么理解的
转载于:https://www.cnblogs.com/gnface/archive/2012/08/28/2659837.html
 
                   
                   
                   
                   本文分享了在 Objective-C 编程中使用类扩展隐藏方法的技巧,通过 SceneManager 和 SubSceneManager 的实例,展示了如何在不强制限制调用的情况下,形成良好的编码习惯。
本文分享了在 Objective-C 编程中使用类扩展隐藏方法的技巧,通过 SceneManager 和 SubSceneManager 的实例,展示了如何在不强制限制调用的情况下,形成良好的编码习惯。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                  
 1064
					1064
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            