02第一个OC程序
一、打开XCode4.6.3,新建项目

二、选择Application下的命名行项目

三、输入项目名称,选择Foundation框架创建项目,点击Next

四、二话不说、点击Run、启动我们创建的项目

可以看到输出结果:

好了,第一个OC应用创建完毕!接下来解释下Main.m的内容:
1、#import是一个导入命令,类似于C语言的#include命令,但是相对于#include而言,#import有效的处理了重复导入的问题,在C语言中也提到过如何通过条件编译解决重复导入,而在OC中你不需要处理了,#import已经自动进行了重复处理;
与#include类似,导入系统类库使用<>,如#include <stdio.h>,导入自定义类库使用””
2、Main函数头部引入了Foundation.h是Foundation框架中的头文件,这是OC中的一个基础类库,所以基本上后面我们用到的所有OC的代码都需要引入这个类库(引用一般是引入头文件),因为我们也是用到了NSLog()这个函数。
Foundation.h的位置

3、@autoreleasepool这是OC的关键字,作用在于这个关键字后面大括号 包含的内容,程序会自动回收,不需要手动去释放,类似C#using(){}一样的垃圾回收机制,但是原理上不一样
4、NSLog是标准的输出函数,累死于C语言的printf()和C#的Console.WriteLine()函数,但是它会自动换行,它同样支持格式输出(例如%i表示输出整形数据,%f输出浮点型数据),这个函数在Fundation.h中声明
5、OC的字符串都需要加@"",例如:@”Hello,World!”,是一个字符串常量
补充下上章说的OC的基本数据类型:
1、BOOL类型(包含两个值YES和NO),其实OC的BOOL类型就是整数1和0
2、id类型,是一个对象类型,可以代表所有对象,这个跟C#的var相似
3、NSString字符串类型,是Fundation定义的。因为在C语言,代表一个字符串只能通过指针的方式来指定,例如char *,在OC直接就是NSString *str=@"哈哈";
NSLog(@"object is =%p",nil);
4、我们看到%p,这就是格式符,就是通过替换占位的方式,把值替换到这个位置,下面列出常用的格式符
%f 小数的形式输出单精度、双精度的浮点数 %Lf 长双精度类型
%@ 输出一个字符串
%p 输出一个指针对象(对象类型)
%c 输出一个字符
%x 以不带符号的十六进制输出整数
%o 以不带符号的八进制输出整数
%u 输出无符号整形
%i 以十进制形势输出整数 %hi 输出短整数 %li 输出长整数
5、在C语言或者OC都可以用%i或者%d来格式化,只有在使用Scanf()输入的时候二者才有区别,%d会被编译器解释为Decimal intergeer所有输入010会被解释为整型10,而%i的话,会将前面的0或者0x认为输入的是八进制或者是十六进制
6、%p就是代表指针地址,在32位的编译器对于指针类型使用%x和%p输出结果都是一样的,但是后者会在前面加上“0X",注意在64位编译器下由于指针长度8byte,而整形只有4byte所以%x输出的内容只是%p的低位数据
02第一个OC程序的更多相关文章
- 第一个OC类、解析第一个OC程序
01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 ...
- [OC笔记]我的第一个OC程序
这是我第一个OC程序,详情都写在了注释里面,讲的是Student和Book这两个类的创建和使用.(是不是觉得student这个类在各种语言入门代码里经常出现呢?真实有爱) 看完这些,你会发现,咱们其实 ...
- IOS开发——01_第一个OC程序
本文目录 一.新建Xcode项目 二.运行项目 注:建议先学习C语言, 如果你还没有编程经验,看不懂的地方可以在评论区提出,本文使用的为Xcode6.1版本,与之前版本会有所差异,但总体不变. 另:还 ...
- 【Objective-C】04-第一个OC程序解析
说明:这个Objective-C专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序猿,可以高速上手Objective-C.假设你还没有编程经验,或者对Objective-C.iOS开发 ...
- 手动创建第一个OC程序
手动创建第一个OC程序 创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑 之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下 #include<stdio.h> ...
- 第一个OC程序
第一个OC程序源码如下: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @auto ...
- 【Objective-C】03-第一个OC程序
一.打开Xcode,新建Xcode项目 二.选择最简单的命令行项目 因为我们只是学习OC语法,还未正式进入iOS开发,所以选择命令行项目即可 三.输入项目名称,选择Foundation框架进行创建项目 ...
- 我曾经的第一个OC程序
一. OC简介 C语言的基础上,增加了一层最小的面向对象语法 完全兼容C语言 可以在OC代码中混入C语言代码,甚至是C++代码 可以使用OC开发Mac OS X平台和iOS平台的应用程序 二. OC语 ...
- 05_传智播客iOS视频教程_第一个OC程序
Cocoa Application开发的是带界面的程序. OC是完全兼容C语言的,但是C语言里面是不能写OC的东西的. OC和C的第一个区别,就是源文件的后缀名的区别.OC程序的源文件的后缀名是.m, ...
随机推荐
- NOIP模拟赛20161016R2
Problem 1 护花(flower.cpp/c/pas) [题目描述] 约翰留下他的N(N<=100000)只奶牛上山采木.他离开的时候,她们像往常一样悠闲地在草场里吃草.可是,当他回来的时 ...
- 第3章 Linux常用命令(2)_权限管理命令
2. 权限管理命令 2.1 改变文件或目录权限:chmod (1)chmod命令 命令名称 chmod(change the permission mode of a file) 命令所在路径 /bi ...
- 嵌入式Linux驱动学习之路(十七)驱动程序分层分离概念-平台设备驱动
平台设备驱动: 包含BUS(总线).DEVICE.DRIVER. DEVICE:硬件相关的代码 DRIVER:比较稳定的代码 BUS有一个driver链表和device链表. ①把device放入bu ...
- java之多线程 二
线程的生命周期: 当线程被创建并被启动时,它既不是一启动就进入了执行状态,在线程的生命周期中,它要经过new(新建),就绪(Runnable),运行(Running),阻塞(Blocked),dead ...
- echarts在.Net中使用实例(一) 简单的Demo
前言 这个必须要有前言,即便很短,对于有强迫症的人来说不容易啊.言归正传,之前做图一直使用rdlc自带的格式,虽然任务完成,但是一直觉得不太美观, 空余时间开始找其他的插件,终于找到了Highchar ...
- FineUI小技巧(6)自定义页面回发
前言 FineUI中的绝大部分回发事件都是由控件触发了,比如按钮的点击事件,下拉列表的改变事件,表格的排序分页事件.但有时我们可能会要自己触发页面回发,这时就要知道怎么使用 JavaScript 来做 ...
- 了解 JS 原型
原型概念 当创建了一个函数时,就会根据一组特定的规则为该函数创建一个 prototype 属性,这个属性指向函数的原型对象.在默认情况下,所有原型对象都会自动获得一个constructor 的属性 这 ...
- ceph rgw s3 java sdk 上传大文件分批的方法
Using the AWS Java SDK for Multipart Upload (High-Level API) Topics Upload a File Abort Multipart Up ...
- 关于SQL中的排序问题
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ...
- c++/java/python priority_que实现最大堆和最小堆
#include<iostream>#include<vector>#include<math.h>#include<string>#include&l ...