iOS学习笔记:Object-C基础语法(OC介绍与Foundation初步)

学习ios一段时间了,决定开始写点东西,一求巩固,温故而知新,二求梳理,理清思路练好文笔。不求闻达与江湖,但求万千法门了然于心。


iOS的study roadmap主要包含以下几个方面:

1. Object-C;

2. Swift;

3. Cocoa开发框架(Foundation/Appkit) for Mac OS,  Cocoa Touch开发框架(Foundation/UiKit) for iOS(iPad OS/iPhone OS/...).

4. Special Area(eg. iOS game).


具体的学习路线图网上有很多,这里就不多说了。最近的关注点还是集中在OC。


OC与C/C++:

Object C是C的衍生语言,可以看做是C的一个超集. 相对于C,OC增加了更多的数据类型,更多设计模式的应用。

运行机制:C面向过程,基于函数控制各类事务流程的处理,属于静态语言。OC面向对象,基于消息完成对象之间的通信,既具有静态特性(封装,继承,多台),又具有动态特性.(具体可了解OC的runtime机制)。

头文件的引用:C/C++ 的include, OC的import

数据类型:OC支持C里面的大多数数据类型(int,bool),但是C里面char *--->OC里的NSString. 此外OC里面多了id类型,可以代表所有类型。

类:OC/C++都具备类的声明和实现,都有共有,私有,受保护三种方式。但OC有类方法(+fun)和对象方法(-fun)之分,类方法被类调用,对象方法被类的实例调用,具体格式:[类 类方法] or [实例 实例方法]. "[ ]"just keep the same format with smalltalk. OC 用self指向自己,C++ 用this指向自己。

关于更详细的OC与C/C++介绍可以参考:http://link.zhihu.com/?target=http%3A//chachatelier.fr/programmation/fichiers/cpp-objc-en.pdf


Class in Foundation:

1. NSObject: 所有对象的根对象: NSData, NSDictionary,NSArray,NSDate,NSValue,NSString,NSCache,NSFormatter...都继承于NSObject(OC只支持单继承).

2. Value:NSCalendar,NSCache,NSData,NSMutableData:NSData,NSDate,NSCalendarDate:NSDate,NSValue,NSNumber:NSValue,NSDecimalNumber:NSNumber:NSValue,.....

3. XML:NSXMLNode,NSXMLParser.

4.String:NSAttributedString(can use addAttribute method to change the color,font...),NSMutableAttributedString:NSAttributedString, NSString,NSMutableString:NSString,NSFormatter,NSDateFormatter:NSFormatter,NSNumberFormatter:NSFormatter......

5.Collections:NSArray, NSMutable:NSArray, NSDictionary, NSMutableDictionary:NSDictionary,NSIndexPath,NSHashTable,NSEnumerator(abstract class),NSSet...

6.Predicates:NSExpression,NSPredicate...

7.OS service:NSRunloop,NSTimer,NSUserDefaults,NSError,NSHost,NSNetService...

8.File System: NSBundle,NSFileManager,NSFileHandle,NSStream...

9.URL:NSURL,NSURLRequest,NSURLResponse,NSURLCache,NSURLProtocol,NSURLConnection...

10.Interprocess Communication:NSPipe,NSPort...

11.Locking/Threading:NSlock,NSTask,NSOperation...

12.Notification:NSNotification,NSNotificationCenter,NSNotificationQueue..

13.Archiving and Serialization:NSCoder,NSArchiver:NSCoder,NSPropertyListSerialization...

14.OC language service:NSAssertionHandler,NSAutoreleasePool,NSException,NSInvocation...

15.Script: NSScriptCommand,NSAppleScript,NSAppleEventDescriptor,NSConnection...

16.NSProxy: 另一个根类,abstract class.

更多了解参考:http://www.cnblogs.com/kenshincui/p/3885689.html










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值