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模拟赛20161023
题目名 双色球 魔方 czy的后宫 mex 源文件 ball.cpp/c/pas cube.cpp/c/pas harem.cpp/c/pas mex.cpp/c/pas 输入文件 ball.in c ...
- Oracle数据库
一.数据库表空间和数据文件 解析:一个数据库下可以开N个表空间,一个表空间可以包含N个数据文件.表空间是逻辑概念. 二.关于listener.ora位置 修改该界面上的数据,会影响指定路径的监听配置文 ...
- iOS 2D绘图 (Quartz2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
博客原地址:http://blog.csdn.net/hello_hwc?viewmode=list 让我们继续跟着大神的脚步前进吧.这一次 我们学习一些Quartz 2D 最基本的一些用法. 前言: ...
- 面试中关于Java你所需知道的的一切
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺. 1. Java中的原始数据类型都有哪些, ...
- ConcurrentHashMap和HashMap的一点区别
HashMap不是线程安全的,ConcurrentHashMap则在某一个方法的执行上是线程安全的. package testMap; import java.util.HashMap; public ...
- c#获取下载路径
Request.ApplicationPath 返回/或者iis下目录.如果个人网站是在iis网站下面新建的目录aaa,返回如:/aaa Request.Url.Authority 返回域名和端口 ...
- C#进阶系列——DDD领域驱动设计初探(七):Web层的搭建
前言:好久没更新博客了,每天被该死的业务缠身,今天正好一个模块完成了,继续来完善我们的代码.之前的六篇完成了领域层.应用层.以及基础结构层的部分代码,这篇打算搭建下UI层的代码. DDD领域驱动设计初 ...
- 每个程序员都会的35个jQuery小技巧!
1. 禁止右键点击$(document).ready(function(){ $(document).bind("contextmenu",function(e){ return ...
- c# Newtonsoft.Json序列化和反序列 js解析
Newtonsoft.Json下载地址:http://www.newtonsoft.com/products/json/ 参考: http://www.cnblogs.com/yanweid ...
- maven 打包
使用命令行形式打包 1.配置maven环境变量,在变量path中加入maven路径. 2.在要打包的项目目录下使用:Ctrl+shift+鼠标右键点击,点击 在此处打开命令行窗口. 在打开的命令行窗口 ...