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; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步