iphone开发语言Objective的基本知识
iPhone开发语言(Object-C)教程PDF版

iPhone开发语言(Object-C)教程PDF版【IT168技术】Objective-C是Mac软件开发领域最主要的开发语言。
假如我们对面向对象的思维已经C语言都很熟悉的话,对于我们学习Objective-C将会非常有用。
假如我们对C语言还不熟悉的话,那我们需要学习一下C语言。
方法调用(Calling Methods)为了能够尽快上手,我们先来看一些简单的例子。
Objective-C语法里面基本的方法调用是这样的:[object method];[object methodWithInput:input];对象的方法可以返回值:output = [object methodWithOutput];output = [object methodWithInputAndOutput:input];我们也可以在类里面调用如何创建对象的方法。
下面的这个例子里面,我们调用了N SString类的string方法:id myObject = [NSString string];id的类型意味着myObject这个变量可以指向任意类型的变量。
当我们编译这个应用程序的时候,并不知道他实现的真实的类和方法。
在这个例子里面,很明显这个对象的类型应该是NSString,所以我们可以改一下他的类型:NSString* myString = [NSString string];现在myString就是一个NSString类型的变量。
这个时候假如我们试图使用一个N SString没有实现的方法时,编译器就会警告我们。
一定要注意在对象类型的右边有一个星号。
所有的Objective-C 对象变量都是指针类型的。
id类型已经预先被定义成一个指针类型了。
所以我们不需要再加星号。
嵌套消息调用(Nested Messages)在许多编程语言里面嵌套消息,或者嵌套函数看起来就像这样:function1 ( function2() );function2的返回值被传递给function1当输入参数。
O_C基础知识

objective-c基础教程——学习小结提纲:简介与C语言相比要注意的地方objective-c高级特性开发工具介绍(cocoa 工具包的功能,框架,源文件组织;XCode使用介绍)简介:1. objective-c是C语言的一个扩展集,主要由APPLE公司维护,是MAC系统下的主要开发语言。
个人认为,对于用惯了常用的C,JAVA等语言的人来说,objective-c是一中很另类,非主流的语言。
2. 开发Mac的UI 程序来说,使用的是Cocoa 这个框架,cocoa的组成部分有:foundation和application kit框架。
【foundation框架处理用户界面之下的特性,如数据结构和通信机制;application kit框架包含cocoa的高级特性:用户界面元素,打印,颜色,声音管理,applescript等】3. 我通过这本书的学习:基本掌握了Objective C的语法,基本能看懂别人写的代码,自己也能编写代码;熟悉了开发环境XCode的使用;(包括建立项目,调试,运行,代码管理等)与C语言相比要注意的地方:1. 文件介绍:Objective-C 也使用头文件(header files),后缀为 .h, 但使用 .m(即message, 其他面向对象编程语言也叫method),作为源文件的后缀。
在objective-c中使用#import<>,而不使用#include<>,#import可以保证头文件只被包含一次。
2. 与C一致的地方:数据类型,表达式,各种运算符循环:for, while, do while, break, continue分支:if, else, switch3. NSlog()函数:与printf()类似,想控制台输出信息。
但它增加了一些特性,如时间戳等。
【cocoa对起所有的函数,常量和类型名称都添加了NS前缀。
】4. 双引号的前面的@表示这双引号中的字符串应该作为cocoa的NSString元素来处理。
iOS开发系列--Objective-C之类和对象

iOS开发系列--Objective-C之类和对象概述前面已经简单介绍过ObjC的基础知识,让大家对ObjC有个大致的印象,今天将重点解释ObjC面向对象的特性。
ObjC相对于C语言多了面向对象特性,但是ObjC又没有其他面向对象语言那么多语法特性,ObjC本身对面向对象进行了精简。
当然这并不代表今天的内容就会少,今天的内容还是相当多的:类定义成员变量方法和属性self关键字构造方法description方法继承类定义在C#、Java等其他高级语言中定义一个类是相当简单点的,直接一个关键字class加一对大括号基本就完成了,但是在ObjC中类的定义相对变化比较大。
现在假设需要定义一个Person类在Xcode中添加文件,选择Cocoa Class 或者Cocoa Touch Class输入类名Person,并选择父类为NSObject默认生成如下两个文件Person.h//// Person.h// ClassAndObject//#import <Foundation/Foundation.h>@interface Person : NSObject@endPerson.m//// Person.m// ClassAndObject//// Created by Kenshin Cui on 14-2-1.// Copyright (c) 2014年Kenshin Cui. All rights reserved.//#import "Person.h"@implementation Person@end在ObjC中定义一个类需要两个文件.h和.m:.h文件:放类的声明,包括成员变量、属性和方法声明(事实上.h文件不参与编译过程);关键字@interface声明一个类,同时它必须以@end结束,在这两个关键字中间声明相关成员;在声明Person类的同时可以看到它继承于NSObject,这是ObjC的基类,所有的类最终都继承于这个类(但是需要注意ObjC中的基类或者根类并不只有一个,例如NSProxy也是ObjC的基类),由于这个类在Foundation框架中定义,所以导入了<Foundation/Foundaton.h>(这么描述的意思是导入Foundation框架中的Foundation.h声明文件);.m文件:放属性、方法的具体实现;关键字@implementation用于实现某个类,同时必须以@end结尾,在这两个关键字中间实现具体的属性、方法;由于.m中使用了Person类,所以需要导入声明文件“Person.h”;成员变量假设在Person类中包含人员姓名(name)、年龄(age)、民族(nation)、身高(height)四个成员变量,同时姓名和年龄两个成员变量是私有的,身高是公开的,民族则限制为只有子类可以访问。
苹果开发重要语法知识

苹果开发重要语法知识2013-01-04 22:03:56| 分类:默认分类|字号订阅感谢这位大大iphone开发中,自定义协议有什么用?iphone开发中,自定义协议自定义协议语法如下:@protocol 协议名称方法之声明@endObjective-C2.0中协议的新特性:(1)@optional预编译指令:表示可以选择实现的方法(2)@required预编译指令:表示必须强制实现的方法。
例如:@protocol FrameworkDelegate <NSObject>@optional //可选的(正式协议)有这个做标志-(void)didReceiveCM:(Framework*)frameworkChatMessage:(ChatMessage*)cm;-(void)QUserArrived:(Framework*)frameworkAddressBook:(NSMutableArray*)ab;//如果@optional 放在此处,表示上面2个方法内部必须实现,下面2个方法可选-(void)AllUserArrived:(Framework*)frameworkAddressBook:(NSMutableArray*)ab;-(void)ConversationListChanged:(Framework*)framework ConversationList:(NSMutableArray*)cl;@end协议表示了方法可以被任何类所实现。
协议本身不是类。
他们只是简单定义了一个其他对象可以实现的接口。
当你的类实现了协议中的某个方法的时候也就是说你的类实现了那个协议。
Objective-C的另一个扩展称为协议,它非常象Java中的接口。
两者都是通过一个简单的方法声明列表发布一个接口,任何类都可以选择实现。
协议中的方法通过其它类实例发送的消息来进行调用。
iPhone程序开发里,object-c里的delegate怎么理解?答:设置代理然后就可以实现协议了。
ios-oc学习资料第一部

知 识 讲 解
逻辑数据类型BOOL
• 逻辑数据类型BOOL
- C语言中布尔类型 bool b1 = false;//true 1 flase 0
知 识 讲 解
- Objective-C中布尔类型
• 计算机中的对象
计算机中的对象Student 属性(成员) age,name
知 识 讲 解
方法(函数)study() 用解决现实中的问题的方法,来解决计算机问题。
类和对象
类和对象
面向对象
什么是类 定义类的语法格式 什么是对象 将类实例化变为对象
面向对象
什么是类
• 什么是类
具有相同属性 和 行为的同一类元素的总称。 类是一个抽象的概念,比如: 人类 动物 蔬菜 水果 汽车, 区分类还是一个对象时,看它能否继续被细分。对象就是不能 继续被细分的。类是就是现实事物的一个抽象。
OC语言介绍
OC语言介绍
OC语言介绍
OC语言概述 语言排序榜
OC语言介绍
OC语言概述
• OC语言概述
- 早在20世纪80年代早期,Bard Cox发明了Objective C,是 扩充的C,面向对象的编程语言。
知 识 讲 解
OC
OBJECTIVE-C
DAY01
内容
09:00 ~ 09:30 上午 09:30 ~ 10:20 10:30 ~ 11:20 11:30 ~ 12:20 14:00 ~ 14:50 下午 15:00 ~ 15:50 16:00 ~ 16:50 17:00 ~ 17:30 作业讲解和回顾 Objective-C语言介绍 ObjC与C语言 面向对象编程 类和对象 属性和方法 属性和实例变量 总结和答疑
学习Objective-C入门教程(全)

学习Objective-C入门教程1,前言相信iPhone不久就要在国内发布了,和我们在国内可以通过正规渠道买得到的iPodTouch一样,iPhone也是一个激动人心的产品。
iPhone发布的同时,基于iPhone的程序也像雨后春笋一样在iTunes里面冒出来。
你将来也许会考虑买一个iPhone,体验一下苹果的富有创意的种种应用;你也许会考虑向iTunes的社区的全世界的人们展示一下你非凡的创意,当然也可以通过你的创意得到一些意想不到的收益。
OK,你也许迫不及待的准备开发了。
但是先等一下,让我们回忆一下最初的电影是怎么拍摄的。
这个很重要,因为和iPhone的开发比较类似。
在最初因为器材比较原始,所以拍摄电影需要很高的技术,那个时候的电影的导演基本上是可以熟练操作摄影器材的人。
随着器材的完善,使用也简单起来。
于是器材的使用不是决定一个电影的质量的唯一的因素,取而代之的是故事或者说电影的创意。
iPhone的开发也是这样。
当然从入门到掌握的过程来说任何事情都是开始比较难,随着掌握的程度的加深,你将会觉得开发iPhone应用程序是一件简单而且轻松的事情,到了那个时候,你的主要的制胜武器就不是开发技术,而是你的创意了。
对于你来说,我在这里写的东西都是有关“摄影器材”也就是介绍如何使用iPhone的平台来开发应用程序。
iPhone的开发语言是Objective-C。
Objective-C是进行iPhone开发的主要语言,掌握了Objective-C的基本语法以及数据结构之后,你需要熟悉一下iPhone的SDK。
笔者很难做到在一篇文章里面把所有的东西都介绍清楚,所以笔者打算分成两个主题,一个是Objective-C,一个是iPhone开发。
本系列将侧重于Objective-C。
当然,任何一种开发语言都无法脱离于运行环境,Objective-C也不例外。
所以在本系列当中也会穿插的介绍一些SDK里面的一些特性,主要是数据结构方面,比如说NSString,NSArray等等。
xcode入门、ios开发入门、iphone开发入门

Xcode入门神帖一、XCode、Objective-C、Cocoa说的是几样东西?答案:三样东西。
XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。
你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程序。
Objective-C:这是一种语言,就好像c++是一种语言,Java是一种语言,c#是一种语言,莺歌历史也是一种语言一样。
Cocoa:是一大堆函数库,就好像MFC、.NET、Swing这类玩意,人家已经写好了一堆现成的东西,你只要知道怎么用就可以了。
有些人会比较容易混淆Objective-C和Cocoa,就好像有些人会混淆c#和.NET一样。
这两个东西真的是两个不一样的东西。
二、Objective-C是什么?你可以把它认为是语法稍稍有点不一样的c语言。
虽然第一眼望上去你可能会认为它是火星语,和你所认知的任何一种语言都不一样。
先简单列出一点差别:问题一:我在程序中看到大量的减号、中括号和NS****这种东西,他们是什么玩意儿?1 减号(或者加号)减号表示一个函数、或者方法、或者消息的开始,怎么说都行。
比如c#中,一个方法的写法可能是:private void hello(bool ishello){//OOXX}用Objective-C写出来就是-(void) hello:(BOOL)ishello{//OOXX}挺好懂的吧?不过在Objective-C里面没有public和private的概念,你可以认为全是public。
而用加号的意思就是其他函数可以直接调用这个类中的这个函数,而不用创建这个类的实例。
2 中括号中括号可以认为是如何调用你刚才写的这个方法,通常在Objective-C 里说“消息”。
比如C#里你可以这么写:this.hello(true);在Objective-C里,就要写成:[self hello:YES];3 NS****老乔当年被人挤兑出苹果,自立门户的时候做了个公司叫做N ext S tep,里面这一整套开发包很是让一些科学家们喜欢,而现在Mac OS用的就是N ext S tep这一套函数库。
iPhone开发进阶(1) --- 深入理解iPhone OSSDK与Objective-C 2.0

iPhone开发进阶(1)--- 深入理解iPhone OS/SDK与Objective-C 2.0工欲善其事,必先利其器。
在开发iPhone应用程序的时候,深入理解iPhone OS/SDK与Objective-C 2.0是很重要的。
iPhone OSiPhone OS 由4个主要部分组成。
下面简单地罗列一下它们的功能。
Cocoa Toucho窗口和视图o事件管理o用户接口o加速传感器o照相机o Core Graphics(2维图形接口)o Core Animation(动画)o OpenGLo Core Audio(声音)o OpenALo Media Player(MPEG4,MP3)o Address Booko Core Foundationo Core Locationo CFNetwork(http,https,ftp,SSL,TLS)o网络安全o SQLite(SQL数据库)o XMLCore OSo多线程o网络应用(BSD套接字)o文件系统o Bonjour(利用无线网络连接其他机器)iPhone SDKiPhone SDK 中主要包含下列4个工具。
o Xcode - 项目管理、代码编辑、编译、调试(IDE)o Interface Builder - GUI 设计o iPhone Simulator - 模拟器o Instrument - 性能测试、调整实际开发的过程中,基本上是在使用Xcode 与Interface Builder 来进行的。
调试则是使用模拟器或者实际设备。
要注意的是在PC上模拟程序,由于PC的主频,性能高于实际设备,所以不能只在模拟器上调试。
除此之外,一些类,功能在模拟器上也是不能使用的,比如NSDateCalendar 类,或者是照相机功能。
Objective-C 2.0内存管理虽然Objective-C 2.0 已经支持了垃圾收集了,但是iPhone OS 中却不能使用它。