范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

objectivec基础教程

  objective-c基础教程很多朋友关注的话题,Objective-C 是一种简单的计算机语言,设计为可以支持真正的面向对象编程。
  Objective-C 通过提供类定义,方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的 ANSI C 语言。类的语法和设计主要是基于 Smalltalk,最早的面向对象编程语言之一。
  如果你以前使用过其他面向对象编程语言,那么下面的信息可以帮助你学习 Objective-C 的基本语法。许多传统的面向对象概念,例如封装,继承以及多态,在 Objective-C 中都有所体现。这里有一些重要的不同,但是这些不同在这文章会表现出来,而且如果你需要还有更多详细的信息存在。
  如果你从来没有使用任何编程语言编过程序,那么你至少需要在开始之前,对相关概念进行一些基础的了解。对象的使用和对象对象架构是 iPhone 程序设计的基础,理解他们如何交互对创建你的程序非常重要。想了解面向对象概念的,请参看使用 Objective-C 进行面向对象编程。
  objective-c基础教程--Objective-C:C的超集
  Objective-Objective-C是C语言的严格超集--任何C语言程序不经修改就可以直接通过Objective-C编译器,在Objective-C中使用C语言代码也是完全合法的。Objective-C被描述为盖在C语言上的薄薄一层,因为Objective-C的原意就是在C语言主体上加入面向对象的特性。
  objective-c基础教程--Objective-C代码的文件扩展名
  当你需要在源代码中包含头文件的时候,你可以使用标准的 #include 编译选项,但是 Objective-C 提供了更好的方法。#import 选项和 #include 选项完全相同,只是它可以确保相同的文件只会被包含一次。Objective-C 的例子和文档都倾向于使用 #import,你的代码也应该是这样的。
  objective-c基础教程--语法
  Objective-C的面向对象语法源于Smalltalk消息传递风格。所有其他非面向对象的语法,包括变量类型,预处理器(preprocessing),流程控制,函数声明与调用皆与C语言完全一致。但有些C语言语法合法代码在objective-c中表达的意思不一定相同,比如某些布尔表达式,在C语言中返回值为true,但在Objective-C若与yes直接相比较,函数将会出错,因为在Objective-C中yes的值只表示为1。
  第一个 Objective-C 程序,基于Xcode 4.3.1:
  objective-c基础教程--消息传递
  Objective-C最大的特色是承自Smalltalk的消息传递模型(message passing),此机制与今日C++式之主流风格差异甚大。Objective-C里,与其说对象互相调用方法,不如说对象之间互相传递消息更为精确。此二种风格的主要差异在于调用方法/消息传递这个动作。C++里类别与方法的关系严格清楚,一个方法必定属于一个类别,而且在编译时(compile time)就已经紧密绑定,不可能调用一个不存在类别里的方法。但在Objective-C,类别与消息的关系比较松散,调用方法视为对对象发送消息,所有方法都被视为对消息的回应。所有消息处理直到运行时(runtime)才会动态决定,并交由类别自行决定如何处理收到的消息。也就是说,一个类别不保证一定会回应收到的消息,如果类别收到了一个无法处理的消息,程序只会抛出异常,不会出错或崩溃。
  C++里,送一个消息给对象(或者说调用一个方法)的语法如下:
  典型的C++意义解读是"调用car类别的fly方法"。若car类别里头没有定义fly方法,那编译肯定不会通过。但是Objective-C里,我们应当解读为"发提交一个fly的消息给car对象",fly是消息,而car是消息的接收者。car收到消息后会决定如何回应这个消息,若car类别内定义有fly方法就运行方法内之代码,若car内不存在fly方法,则程序依旧可以通过编译,运行期则抛出异常。
  此二种风格各有优劣。C++强制要求所有的方法都必须有对应的动作,且编译期绑定使得函数调用非常快速。缺点是仅能借由virtual关键字提供有限的动态绑定能力。Objective-C天生即具备鸭子类型之动态绑定能力,因为运行期才处理消息,允许发送未知消息给对象。可以送消息给整个对象集合而不需要一一检查每个对象的类型,也具备消息转送机制。同时空对象nil接受消息后默认为不做事,所以送消息给nil也不用担心程序崩溃。
  objective-c基础教程--字符串
  作为C语言的超集,Objective-C 支持 C 语言字符串方面的约定。也就是说,单个字符被单引号包括,字符串被双引号包括。然而,大多数Objective-C通常不使用C语言风格的字符串。反之,大多数框架把字符串传递给NSString对象。NSString类提供了字符串的类包装,包含了所有你期望的优点,包括对保存任意长度字符串的内建内存管理机制,支持Unicode,printf风格的格式化工具,等等。因为这种字符串使用的非常频繁,Objective-C提供了一个助记符可以方便地从常量值创建NSString对象。要使用这个助记符,你需要做的全部事情,是在普通的双引号字符串前放置一个@符号,如下面的例子所示:
  objective-c基础教程--类
  如同所有其他的面向对象语言,类是 Objective-C 用来封装数据,以及操作数据的行为的基础结构。对象就是类的运行期间实例,它包含了类声明的实例变量自己的内存拷贝,以及类成员的指针。Objective-C 的类规格说明包含了两个部分:定义(interface)与实现(implementation)。定义(interface)部分包含了类声明和实例变量的定义,以及类相关的方法。实现(implementation)部分包含了类方法的实际代码。
  下图展现了声明一个叫做 MyClass 的类的语法,这个类继承自 NSObject 基础类。类声明总是由 @interface 编译选项开始,由 @end 编译选项结束。类名之后的(用冒号分隔的)是父类的名字。类的实例(或者成员)变量声明在被大括号包含的代码块中。实例变量块后面就是类声明的方法的列表。每个实例变量和方法声明都以分号结尾。
  类的定义文件遵循C语言之惯例以.h为后缀,实现文件以.m为后缀。
  类声明图
  objective-c基础教程--Interface
  定义部分,清楚定义了类的名称、数据成员和方法。 以关键字@interface作为开始,@end作为结束。
  方法前面的 +/- 号代表函数的类型:加号(+)代表类方法(class method),不需要实例就可以调用,与C++ 的静态函数(static member function)相似。减号(-)即是一般的实例方法(instance method)。
  这里提供了一份意义相近的C++语法对照,如下:
  Objective-C定义一个新的方法时,名称内的冒号(:)代表参数传递,不同于C语言以数学函数的括号来传递参数。Objective-C方法使得参数可以夹杂于名称中间,不必全部附缀于方法名称的尾端,可以提高程序可读性。设定颜色RGB值的方法为例:
  这个方法的签名是setColorToRed:Green:Blue:。每个冒号后面都带着一个float类别的参数,分别代表红,绿,蓝三色。
  以上就是简单的objective-c基础教程介绍,希望对大家有所帮助。

红色警戒3起义时刻配置要求游戏名称红色警戒3英文名称ReadAlert3游戏类型即时战略游戏制作EA游戏发行EALA游戏平台PCXbox360PS3上市时间2008。10。28红色警戒3游戏介绍美商艺电(E华为Nova2s红色多少钱华为Nova2s红色怎么样图文详解日前,华为Nova2s发布了全新的配色mdashmdash红色,官方名称是相思红。华为Nova2s红色这一个配色非常适合马上就要到来的春节气氛,让不少网友想入手一部。那么,华为No星际争霸2秘籍星际争霸2秘籍星际争霸(StarCraft)是由暴雪在2010年7月27日推出的一款RTS即时战略类游戏,作为星际争霸的续篇讲述了人族星灵和异虫三族的故事。星际争霸将以三部曲的形式c盘红色满了怎么办深度清理c盘方法教程详解很多用户在使用电脑一段时间后会发现c盘满了变成红色,可是自己明明没有往c盘放那么多东西,为什么它会自己满了呢?想删些东西来腾出空间,但是不知道哪些能删,哪些不能删,今天电脑配置网就win10电脑桌面下方音量图标出现红色叉怎么办解决方法我们知道Windows电脑右下方任务栏的音量图标直接点击就可以调整电脑的音量大小,操作很方便,但是最近有的人发现自己的电脑的音量图标出现了一个红色的叉叉,这是怎么回事呢?今天小编就oppoEncoFree2怎么恢复出厂设置出厂设置恢复教程oppoEncoFree2这款耳机是采用了10mm动圈,同时其还是有着不错的42dB的降噪,并且耳机采用了三麦降噪同时还是有着丹拿调音,绝对是可以为小伙伴们带来极为舒适的性能体验感极品飞车13变速配置要求游戏名称极品飞车13变速英文名称NeedforSpeedShift游戏类型竞速游戏制作SlightlyMad游戏发行ElectronicArts游戏平台多平台上市时间2009。09极品飞车18宿敌配置要求极品飞车18宿敌配置要求CPUIntelCore22。4GHzAMD同性能CPU内存4GB以上硬盘20GB以上空间显卡nVidiaGeForceGTS450ATI同性能显卡系统Wi极品飞车14热力追踪配置要求游戏名称极品飞车14热力追踪英文名称NeedforSpeedHotPursuit游戏类型竞速游戏制作CriterionGames游戏发行ElectronicArts游戏平台PCXB极品飞车12无间风云配置要求游戏名称极品飞车12无间风云英文名称NeedforSpeedUndercover游戏类型竞速游戏制作ElectronicArts游戏发行EAGames游戏平台全平台上市时间2008极品飞车11街道争霸配置要求游戏名称极品飞车11街道争霸英文名称NeedForSpeedProStreet游戏类型竞速游戏制作ElectronicArts游戏发行EAGames游戏平台全平台上市时间2007。
三星S5830i能播放1080p吗三星S5830i支持480p(800times480,30帧秒)视频播放,不支持1080p播放。三星S5830i采用一块3。5英寸1600万色TFT材质的屏幕分辨率为320480的三星I9308如何通过WLAN直连传输文件启动WLAN直连功能,在无需接入点的情况下,通过WLAN可以连接两台设备。如要通过WLAN直连功能发送文件,请按照如下所述步骤进行操作1。在待机屏幕中,选择应用程序。2。选择设定。三星i9220排线连接方法说明图解排线一词可能很多朋友没有听说过,其实排线又叫软性电路板,在很多电子设备中应用广泛,是电子传输系统中必不可少的材料。比如电脑主板和硬盘之间的连接材料就要用到它,手机数据线里面的材料也QQ黑名单可以漫游多少人QQ2010正式版SP3以上版本支持黑名单漫游功能,可漫游人数为50人。腾讯QQ是深圳市腾讯计算机系统有限公司开发的一款基于Internet的即时通信(IM)软件。腾讯QQ支持在线QQ超级语音能将对话保存为MP3格式吗QQ超级语音目前暂时还不支持对话保存为MP3格式。腾讯QQ是深圳市腾讯计算机系统有限公司开发的一款基于Internet的即时通信(IM)软件。腾讯QQ支持在线聊天视频电话点对点断点QQ如何设置只能通过帐号和昵称找到我QQ设置ldquo只能通过帐号和昵称找到我rdquo的方法如下在系统设置安全与隐私防骚扰设置中,勾选即可。腾讯QQ是深圳市腾讯计算机系统有限公司开发的一款基于Internet的即时QQ昵称后的火焰标志怎么弄详细介绍最近许多小伙伴反映,手机QQ好友的昵称后面多了个火焰标志,这个火焰标志是什么意思呢?QQ昵称后的火焰标志怎么弄?这里给大家介绍下。这个火焰是什么意思呢?QQ最新推出了一个叫做ldqQQ客户端上的陌生人最多可以有多少个QQ中的陌生人均是保存在电脑本地的数据,因此QQ客户端对于陌生人的数量是没有限制的,同时若本地未进行重装或对QQ文件做一些特殊删除,一般都是一直会保留在本地的。腾讯QQ是深圳市腾讯Win10系统CPU使用率过高怎么办Win10CPU使用率过高解决办法win10系统CPU使用率过高怎么办?具体的解决方法如下禁用DiagTrackDiagnosticsTrackingService服务1首先在键盘上面按WINR调出运行,输入ser电脑内存占用过高怎么办降低内存使用率方法电脑内存占用过高怎么办?内存就是暂时存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁U启动v3。0版本更新哪些内容U启动v3。0版本更新内容介绍从v1。0到v2。0,U启动经历了了变革和成长,从界面主程序功能到操作各方面都作出了调整和创新。为了满足满足用户更多的需求,方便用户能更便捷的使用U启动制作U盘启动盘,一番努力后,