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 word

    [转载]在Delphi中使用CreateOleObject方法 (2011-08-24 14:20:47) 转载▼ 标签: 转载   原文地址:在Delphi中使用CreateOleObject方法作 ...

  2. UVA 11624 Fire! BFS搜索

    题意:就是问你能不能在火烧到你之前,走出一个矩形区域,如果有,求出最短的时间 分析:两遍BFS,然后比较边界 #include<cstdio> #include<algorithm& ...

  3. 《Python基础教程(第二版)》学习笔记 -> 第二章 列表和元组

    本章将引入一个新的概念:数据结构. 数据结构是通过某种方式阻止在一起的数据元素的集合,这些数据元素可以是数字或者字符,设置可以是其他数据结构. Python中,最基本的数据结构是序列(Sequence ...

  4. mysql远程连接出现 ERROR 2003 (HY000): Can't connect to MySQL server on IP

    修改了如下两个位置,解决了这个问题: 修改/etc/mysql/my.cof配置文件:因为mysql默认只允许本机连接 修改远程连接用户权限:远程连接的用户被设置为不允许远程连接 首先修改/etc/m ...

  5. VTL说明文档

    关于这个指南 这个指南是针对Velocity模版语言(VTL)的说明.更多其它的信息,请参考Velocity用户指南(http://velocity.apache.org/engine/release ...

  6. longblogV1.0——我的静态博客发布系统

    longblogV1.0——我的静态博客发布系统 环境依赖: python3-markdown 作者:IT小小龙个人主页:http://long_python.gitcafe.com/电子邮箱:lon ...

  7. SQL2008-功能设置

    1.问题:修改表字段类型后,无法保存答:工具—选项—Designers—表设计器和数据库设计器—阻止保存要求重新创建表的更改前的勾去掉. 2.问题: 编写SQL语句的地方怎么自动换行答:工具-> ...

  8. Tomcat服务器配置文件uri编码设置

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" ...

  9. 没有指针的java语言

    一.java中引用(reference)实质就是指针 与C语言的指针比较: 1.引用是受控的安全的 2.空引用会被检查 java中不能够访问没有引用到的内存,这也是java的自动垃圾回收机制的基础之一 ...

  10. Java中方法的重载

    Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方 ...