学习IOS开发的第4天
2014-03-16 12:56
155 查看
今天开始学习oc的高级语法。首先学习了类目和延展。类目是为了扩展类的方法,不会改变原始类。可以新建一个文件表示类目,也可以把类目写到原始类里面。这样还可以给方法进行分类,把相同功能的方法放到一个类目中。例如,我在Car.中声明了两个类目,里面的方法有不同的作用。
类目为原始类扩展了一些方法,其他地方调用原始类里的方法时,也就可以调用类目里定义的方法。
延展是用来定义私有方法的,例如像java里private修饰的方法。写在.h文件中的方法都是可以被别人访问的,如果像定义私有方法,就可以写到延展中。不用延展定义私有方法也行,直接写在类的实现里。但是这样阅读和维护起来很麻烦,不能直接看出哪个是私有方法。于是最好还是把私有方法的定义写到延展中。延展于类目相似,但是延展的声明写在.m文件里,而且类名后面的括号为空的。例如
//声明一个opretation类目 @interface Car (opretation) -(void)run; -(void)stop; @end //维护类目 @interface Car (maintain) -(void)fix; @endCar类名后面的括号中的是类目名。类目的实现写在.m文件中,例如
//实现opretation类目 @implementation Car (opretation) -(void)run{ NSLog(@"汽车启动"); } -(void)stop{ NSLog(@"汽车停止"); } @end //实现maintain类目 @implementation Car (maintain) -(void)fix{ //调用自己的私有方法 [self fixCar]; } @end
类目为原始类扩展了一些方法,其他地方调用原始类里的方法时,也就可以调用类目里定义的方法。
延展是用来定义私有方法的,例如像java里private修饰的方法。写在.h文件中的方法都是可以被别人访问的,如果像定义私有方法,就可以写到延展中。不用延展定义私有方法也行,直接写在类的实现里。但是这样阅读和维护起来很麻烦,不能直接看出哪个是私有方法。于是最好还是把私有方法的定义写到延展中。延展于类目相似,但是延展的声明写在.m文件里,而且类名后面的括号为空的。例如
//延展,用于声明私有方法 @interface Car () -(void)fixCar; @end方法的实现写在类的实现里。这样就实现了一个私有方法。
@implementation Car //......其他代码,这里省略 -(void)fixCar{ NSLog(@"修理汽车"); } @end主类的代码如下
#import <Foundation/Foundation.h> #import "Car.h" int main(int argc, const char * argv[]) { @autoreleasepool { Car *car = [[Car alloc]initWithId:1001 andName:@"BYD"]; [car run]; [car stop]; [car fix]; } return 0; }
相关文章推荐
- IOS开发学习记录第4天之C语言学习
- iOS学习笔记(一)——ios搭建开发环境
- iOS 开发之 CocoaAsyncSocket 学习
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第六课)多个MVC的程序和故事版、UINavigationController、 Segues
- iOS 开发中关于支付功能的学习心得 ----支付宝
- 学习、证书-iOS开发心路历程-by小雨
- ios开发不能不知的动态修复bug补丁第三方库JSPatch 使用学习:JSPatch导入、和使用、.js文件传输加解密
- IOS开发---菜鸟学习之路--(十八)-利用代理实现向上一级页面传递数据
- iOS开发RunLoop学习:四:RunLoop的应用和RunLoop的面试题
- 【IOS 开发学习总结-OC-46】★ios开发之UI控件——UIProgressView 与 UISlider(另:可拉伸图片)
- ios学习笔记之block在ios开发中的应用
- ios开发网络学习四:NSURLConnection大文件断点下载
- IOS 开发之Cocoa AsyncSocket学习 .
- IOS学习开发笔记(三)-----初识UIScrollView
- 从零开始学习iOS开发1:认识xcode
- 2011斯坦福大学iOS应用开发教程学习笔记(第一课)MVC.and.Introduction.to.Objective-C
- ios学习--iphone开发私房菜_5_] iphone中如何实现下拉菜单 .
- 学习IOS开发UI篇--MVC设计界面及数据的模型转换
- iOS开发学习之UIApplication
- iOS 开发学习之 User Interface(11)iOS事件处理机制及手势 与 MVC浅述