OC基础 未命名类别

未命名类别

在()中不指定类别的名字

可以定义附加的实例变量

声明的方法需要在主实现区域实现

实例变量和方法都是私有的

如果想要写一个类,而且数据和方法仅供给这个类本身使用,未命名类比较适合

优点: 分解大块代码 为类做扩展  

.h

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface UnNameCategoty : NSObject
@property int i;
-(void)func1;
-(void)func2;
@end

NS_ASSUME_NONNULL_END

.m

#import "UnNameCategoty.h"
//未命名类别
@interface UnNameCategoty()
@property float f;
-(void)fun3;

@end


// 只能放在类的实现中

@implementation UnNameCategoty

-(void)fun1
{
    NSLog(@"func1");
}
-(void)fun2
{
    NSLog(@"fun2");
    [self setF:20.5];
    [self fun3];
}

-(void)fun3
{
    NSLog(@"func3");
    
}


@end

main

#import <Foundation/Foundation.h>
#import "UnNameCategoty.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        UnNameCategoty* category=[[UnNameCategoty alloc]init];
        [category setI:40];
        
        //未命名方法成员和方法都是私有的
        
//        [category self:10];
        
        [category func1];
        [category func2];
        [category func3];
        
        
        
        
        
        
        
    }
    return 0;
}
原文地址:https://www.cnblogs.com/zhangqing979797/p/13221976.html