Object-C经典入门教程

Object-C经典入门教程

ID:1038300

大小:433.79 KB

页数:51页

时间:2017-11-07

Object-C经典入门教程_第1页
Object-C经典入门教程_第2页
Object-C经典入门教程_第3页
Object-C经典入门教程_第4页
Object-C经典入门教程_第5页
资源描述:

《Object-C经典入门教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Object-C入门教程分类:Sip&asterisk2009-05-0416:3416409人阅读评论(2)收藏举报大纲o开始吧下载这篇教学o设定环境o前言o编译helloworldo创建Classes@interfaceo@implementationo把它们凑在一起o详细说明...多重参数o建构子(Constructors)o访问权限oClasslevelaccesso异常情况(Exceptions)处理o继承、多型(Inheritance,Polymorphism)以及其他面向对象功能id型别o继承(Inheritance)o动态识别(Dyna

2、mictypes)oCategoriesoPosingoProtocolso内存管理RetainandRelease(保留与释放)oDeallocoAutoreleasePooloFoundationFrameworkClassesNSArrayoNSDictionary·优点与缺点·更多信息开始吧下载这篇教学§所有这篇初学者指南的原始码都可以由objc.tar.gz下载。这篇教学中的许多范例都是由SteveKochan在ProgramminginObjective-C.一书中撰写。如果你想得到更多详细信息及范例,请直接参考该书。这个网站上登载的所有范例皆经过

3、他的允许,所以请勿复制转载。设定环境§Linux/FreeBSD:安装GNUStep为了编译GNUstep应用程序,必须先执行位于/usr/GNUstep/System/Makefiles/GNUstep.sh的GNUstep.sh这个档案。这个路径取决于你的系统环境,有些是在/usr,some/usr/lib,有些是/usr/local。如果你的shell是以csh/tcsh为基础的shell,则应该改用GNUStep.csh。建议把这个指令放在.bashrc或.cshrc中。§MacOSX:安装XCode§WindowsNT5.X:安装cygwin或min

4、gw,然后安装GNUStep前言§这篇教学假设你已经有一些基本的C语言知识,包括C数据型别、什么是函式、什么是回传值、关于指针的知识以及基本的C语言内存管理。如果您没有这些背景知识,我非常建议你读一读K&R的书:TheCProgrammingLanguage(译注:台湾出版书名为C程序语言第二版)这是C语言的设计者所写的书。§Objective-C,是C的衍生语言,继承了所有C语言的特性。是有一些例外,但是它们不是继承于C的语言特性本身。§nil:在C/C++你或许曾使用过NULL,而在Objective-C中则是nil。不同之处是你可以传递讯息给nil(例如

5、[nilmessage];),这是完全合法的,然而你却不能对NULL如法炮制。§BOOL:C没有正式的布尔型别,而在Objective-C中也不是「真的」有。它是包含在Foundationclasses(基本类别库)中(即importNSObject.h;nil也是包括在这个头文件内)。BOOL在Objective-C中有两种型态:YES或NO,而不是TRUE或FALSE。§#importvs#include:就如同你在helloworld范例中看到的,我们使用了#import。#import由gcc编译程序支援。我并不建议使用#include,#import

6、基本上跟.h档头尾的#ifndef#define#endif相同。许多程序员们都同意,使用这些东西这是十分愚蠢的。无论如何,使用#import就对了。这样不但可以避免麻烦,而且万一有一天gcc把它拿掉了,将会有足够的Objective-C程序员可以坚持保留它或是将它放回来。偷偷告诉你,Apple在它们官方的程序代码中也使用了#import。所以万一有一天这种事真的发生,不难预料Apple将会提供一个支持#import的gcc分支版本。§在Objective-C中,method及message这两个字是可以互换的。不过messages拥有特别的特性,一个mess

7、age可以动态的转送给另一个对象。在Objective-C中,呼叫对象上的一个讯息并不一定表示对象真的会实作这个讯息,而是对象知道如何以某种方式去实作它,或是转送给知道如何实作的对象。编译helloworld§hello.m§#import§§intmain(intargc,constchar*argv[]){§printf("helloworld/n");§return0;}·o§输出helloworld·o§在Objective-C中使用#import代替#include§Objective-C的预设扩展名是.m创建classes@int

8、erface§基于"Programmi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。