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, ...
随机推荐
- Struts2 Ajax校验
Ajax(Asynchronous javascript and xml):异步刷新技术 技术组成: CSS + xml +JavaScript +DOM Ajax核心对象: XMLHttpRequ ...
- magnitude是精确距离,sqrMagnitude是节省CPU的粗略距离,精度有损失
magnitude是精确距离,sqrMagnitude是节省CPU的粗略距离,精度有损失 CubeA坐标 x:0 y:0.844 z:0 CubeC坐标 x:0 y:0 z:0 Vector3 aaa ...
- Warning: file_put_contents(data.txt): failed to open stream: Permission denied in /Library/WebServer/Documents/test.php on line 22
最近在学习PHP 在保存文件的时候报Warning: file_put_contents(data.txt): failed to open stream: Permission denied in ...
- 基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
has(selector选择器或DOM元素) 将匹配元素集合根据选择器或DOM元素为条件,检索该条件在每个元素的后代中是否存在,将符合条件的的元素构成新的结果集. 下面举一个例子: <ul& ...
- C#反射在ADO中的巧用
在C#原生开发网站的时候,经常会碰到一个问题,后台用原生查出来的数据一般是DataReader或者是DataTable,这样就把数据从数据库中拿到了,然后就是把数据绑定到前台页面进行输出,这是最原生态 ...
- duilib学习 --- 360demo 学习
我想通过360demo的学习,大概就能把握duilib的一般用法,同时引申出一些普遍问题,和普遍解决方法.并在此分享一些链接和更多内容的深入学习..... 原谅我是一个菜鸟,什么都想知道得清清楚楚.. ...
- nginx的URL重写应用实例
1,NGINx的URL重写 NGINX 的URL重写模块用的比较多,主要使用的命令有if rewrite set break 2 if命令 语法如下"" 语法:if(conditi ...
- py-faster-rcnn +cudnn V5
转载自http://blog.csdn.net/u010733679/article/details/52221404,经过实际操作,采用了第二种手动替换代码文件.修改个别函数名的方式,成功编译. - ...
- php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,slowlog设置可以让我们很好的看见哪 ...
- Objective-C总Runtime的那点事儿(一)消息机制
最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题.当然还有一些其他问题也几乎必问,例 如:RunLoop,Block,内存管理等.其他的问题 ...