Objective-C 起源与发展

Brad J. Cox designed the  Objective-C language in the early 1980 .

布兰德于1980年设计的 Objective-C语言。

1998年 NEXT SOFTWARE 颁发了Objective-C 并且开发了类库和开发环境,叫做NEXTSTEP。几乎大部分的cocoa都是基于NS的。这也就是为什么 Objective-C
中的类都是以NS开头的原因。

1996年苹果公司收购了NEXT SOFTWARE,从此Objective-C用来为苹果设计OS
X 系统。

Objective-C:加强版的C,基于c语言设计的,是c语言的上层语言,

Objective-C是基于标准的ANSI C的一门面向对象语言。其语法和设计主要基于Smalltalk,所以有些类似,而且支持标准的C语言语法。代码文件的类型有三种:[.h]头文件,[.m]C代码,[.mm]C++代码

。定义了一种新的调用头文件的方法#import,这样不会重复#include头文件,只在没有调用过的时候调用一次,类似于PHP的require_once。

Objective-C简介

Objective-C是进行iPhone软件开发的语言
Objective-C语言是C语言的一个扩展集
Objective-C是一种面向对象的语言
大小写敏感
程序语句必须以(;)结束
开发工具(Xcode)

Cocoa简介

Cocoa是苹果公司的面向对象的开发环境,该环境下的任何类都要继承自NSObject(只有这样,该类的对象才可以获得运行时的基本能力)
Cocoa的主要开发语言是Objective-C
Cocoa包含两个核心框架:Foundation框架和Appkit框架
CocoaTouch包含两个框架:Foundation框架和UIKit框架
框架
所谓的框架,就是一个集合,其中包含着头文件,库等资源文件
每个框架中均有一个主头文件,该头文件包含了框架中各个头文件,一但引入了主头文件,就可以在自己的程序里使用任何在该框架里的类

第一个Objective-C程序

//早期的版本

#import<Foundation/Foundation.h>

intmain (intargc, constchar * argv[])

{

NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc] init];

//----------------------------------------

NSLog(@"Hello,iphone!");

//----------------------------------------

[pool drain];

return 0;

}

//最新的版本。

#import<Foundation/Foundation.h>

int main (int argc, const char * argv[])

{

    @autoreleasepool {

       

        // insert code here...

        NSLog(@"Hello, World!");

    }

    return 0;

}

常见扩展名

扩展名

含义

.h

头文件

.c

c语言源文件

.cpp .cc

c++语言的源文件

.m

Objective-C的源文件

.mm

Objective-C++的源文件

转义字符及其作用

字符形式

含义

\”

双引号

\’

单引号

\n

换行

\t

水平制表符

\\

反斜线

格式化输出字符

字符形式

类型

%d

int

%c

char

%f

float

%@

对象

[置顶] Objective-C开发环境介绍以及Cocoa,以及第一个程序的更多相关文章

  1. Python环境配置详细步骤以及第一个程序

    打开python官网:https://www.python.org/ 在官网找与自己电脑系统匹配的版本路径  这里以python3.7.2版本为例: 下载完成后,使用管理员身份进行安装:  打开命令提 ...

  2. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  3. Windows在结构objective C开发环境

    对于近期打算iPhone.iPod touch和iPad开发一些应用程序,所以.需要开始学习Objective C(苹果推出的类似C语言的开发语言).因为苹果的自我封闭的产业链发展模式(从芯片.机器. ...

  4. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  5. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  6. 搭建java开发环境、使用eclipse编写第一个java程序

    搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...

  7. [置顶] Django 微信开发(一)——环境搭建

    Django 微信开发(一)——环境搭建 随着移动互联网时代的到来,微信——一个改变着我们生活的产品悄悄走近了我们的生活.我们不得不觉得自己很幸运,自己能在这个世界上遇到像QQ.微博.微信这样优秀的产 ...

  8. Windows 8 Metro 应用开发入门(一):开发环境介绍

    摘 要 Windows8已经发布,随之而来的基于WinRT的Metro应用也正向我们走来,正像它所宣传的:光滑.快.现代.看习惯了玻璃.立体风格的应用,或许Metro的简洁能给你留下不一样的体验.Vi ...

  9. [置顶] Kendo UI开发教程: Kendo UI 示例及总结

    前面基本介绍完Kendo UI开发的基本概念和开发步骤,Kendo UI的示例网站为http://demos.kendoui.com/ ,包含了三个部分 Web DemoMobile DemoData ...

随机推荐

  1. Flash 导出图片和声音

    命令文件 PolarBear_jsfl.zip Flash Professional 编辑器命令,用来导出 flash 库中的图片和声音 使用步骤: 1. 首先下载 PolarBear_jsfl.zi ...

  2. 【转】为什么C++编译器不能支持对模板的分离式编译

    出处:刘未鹏(pongba) http://blog.csdn.net/pongba)   首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h ...

  3. 【暑假】[深入动态规划]UVa 1628 Pizza Delivery

    UVa 1628 Pizza Delivery 题目: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51189 思路:    ...

  4. IComparer接口与

    IComparable比较接口,继承此接口可对lis<T>调用sort进行排序 或者调用sort时可以为sort方法提供继承了IComparer的比较器

  5. JQuery原理

    1.简单模拟JQuery工作原理 (function(window){ var JQuery ={ a: function(){ alert('a'); }, b: function(){ alert ...

  6. String类 and StringBuffer类

    1.equals() ==: a)对于原生数据类型来说,比较的是左右两边的值是否相等. b)对于引用类型来说,比较左右两边的引用是否指向同一个对象,或者说左右两边的引用地址是否相同. equals() ...

  7. dataStructure@ Check if a directed graph has cycles

    #include<iostream> #include<cstdio> #include<cstring> #include<limits> #incl ...

  8. ubuntu免验证登陆权限问题

    由于经常ssh到服务器,每次输入密码很烦.就传了本机公钥到服务器. 和所有教程将的一样,做起来挺简单的. 本机ssh-keygen -t rsa生成公钥和密钥. 将公钥传至服务器,用户目录下.ssh/ ...

  9. ovirt user guide

    Contents [hide]  1 ⁠Accessing the User Portal 1.1 Logging in to the User Portal 1.2 Logging out of t ...

  10. Django中的Model(操作表)

    Model 操作表 一.基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwargs obj = m ...