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. delphi通过OLE对word进行单元格合并操作

    uses comobj, word2000procedure TForm1.Button2Click(Sender: TObject);var WordApp, WordDoc,table: OleV ...

  2. HDU5046 Airport dancing links 重复覆盖+二分

    这一道题和HDU2295是一样 是一个dancing links重复覆盖解决最小支配集的问题 在给定长度下求一个最小支配集,只要小于k就行 然后就是二分答案,每次求最小支配集 只不过HDU2295是浮 ...

  3. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (一) 京东 商品搜索

    之前有发布一篇文章“e2e 自动化集成测试 环境搭建 Node.js Selenium WebDriverIO Mocha Node-Inspector”, 主要是讲了,如何搭建环境, 其中开发环境使 ...

  4. 如何制作网页小动画?——gif or png

    一.场景与动画 为了拉动网站氛围,或者吸引用户浏览焦点,需要使用一些小动画.这种动画不是(gif)单纯的重复,而是需要需要一些控制和交互,比如在动画完成后打开一个对话框.动画有几个基本要素(时间控制, ...

  5. Jquery UI的datepicker插件使用方法

    原文链接;http://www.ido321.com/375.html Jquery UI是一个非常丰富的Jquery插件,并且UI的各部分插件可以独自分离出来使用,这是其他很多Jquery插件没有的 ...

  6. CP-ABE环境配置

    本环境配置步骤参考互联网: 1.安装m4 sudo apt-get install m4 2.安装gmphttp://gmplib.org/  下载gmplib ./configure make ma ...

  7. 编译vo-aacenc遇到的问题

    sourceforge更新了vo-aacenc到0.1.3,就把自己的编码器也更新到最新.编译过程中无聊多测试了一下 发现一个小问题http://sourceforge.net/projects/op ...

  8. HDU3966-Aragorn's Story(树链剖分)

    第一道树链剖分. 早就想学..一直懒.. 感觉还是比较简单的. 主要是要套其他数据结构,线段树大概还好,平衡树之类的肯定就跪了. http://blog.csdn.net/acdreamers/art ...

  9. Stage3D学习笔记(四):正交矩阵

    我们上一章节显示图片的时候,会发现我们制定的顶点在Stage3D中其实是存在一个区间的: x轴(从左到右):[-1.0-1.0] y轴(从下到上):[-1.0-1.0] z轴(从近到远):[0-1.0 ...

  10. GPS两点的距离

    目前手头的一个项目要用到GPS地理定位信息,很自然的就需要知道两个地点之间的距离,于是上网找了一下,同样自然的就有一些算法贴出来..(网络真是帮了大忙,省得我再去翻几何书自己研究算法了!公式早都忘光了 ...