黑马程序员--Objective-C——第一个OC程序
来源:互联网 发布:淘宝客服几点下班 编辑:程序博客网 时间:2024/03/28 18:12
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、OC简介
OC是Objective-C的简称,从名字来看,就可以知道OC这个语言是在C语言的基础上建立起来了,所以OC完全兼容C语言的语法,并且也可以在OC中插入C语言的代码,OC与C语言的不同是OC在C语言的基础上增加了一层最小的面向对象的语法。OC可以用来开发IOS平台和Mac os平台上的应用程序。二、第一个OC程序
有学过其他计算机语言的人应该知道,学习一门语言的最经典的入门程序就是Hello World了,它是我们迈向一门语言的第一步。下面,我们就来看看如何编写我们的第一个Hello World的程序吧!
启动Xcode程序,然后点击File->New->Project菜单,在打开的choose a template for your project中选择Command Line Tool.
点击next,出现下图所示界面
Product Name:工程名字
Organization Name:组织名字
Company Identifier:公司名字
Bundle Identifier:捆绑标示符,为Product Name+Company Identifier。在AppStore发布的时候会用到。
Type:应用程序的类型,我们选择Foundation
填好后,点击下一步选择保存工程的文件夹,然后点击Create就成功创建了一个控制台项目。
在main.m文件中输入以下代码
include <stdio.h>int main(){ printf("Hello World\n"); return 0;}
咦,怎么和C语言的Hello World一模一样啊?呵呵,前面不是说了吗,OC是完全兼容C的,所以和C代码一样也就不奇怪了。我们先学习它的运行方法,再来学习OC特有的输出Hello World的方法。
和Java一样,这个程序有两种运行方法,一种是在XCode中直接运行,另一种方法是在命令行中运行。
Xcode中运行:点击左上角的运行按钮或者按Command+R键就可以运行了。
命令行中运行:进入命令行,使用cd命令进入项目的文件夹,使用cc -c命令编译.m文件,发现文件夹多了一个同名的.o文件,然后使用cc -c链接文件生成a.out文件,这个就是苹果机中的可执行文件了,在控制台输入./a.out就可以执行这个文件了。
OC特有的输出方法是NSLog函数,它接收字符串类型的参数,并且输出在屏幕上。与C不同,OC字符串使用@""来表示,比如@"我是OC字符串!"。并且,NSSLog输出之后会自动换行,在输出之前显示输出时间等信息。
#import <Foundation/Foundation.h>int main(){ NSLog(@"Hello World!"); return 0;}
需要注意的是,既然我们使用是OC特有的NSLog,那么我们就应该包含NSLog函数所在的头文件,因此我们将 #include <stdio.h> 改成 #import <Foundation/Foundation.h>,并且在编译后的链接这一步,要在cc main.o后面加上 -framework Foundation 告诉编译器要加上Foundation这个框架一起链接,这样,程序才能成功运行!
- 黑马程序员--Objective-C——第一个OC程序
- 黑马程序员————Objective C——第一个OC程序
- 黑马程序员---objective-c基础学习--第一个oc程序及代码分析
- 黑马程序员零基础解析第一个Objective-c程序
- Objective-C——第一个OC程序,以及OC程序的结构分析
- 【Objective-C】03-第一个OC程序
- 【Objective-C】03-第一个OC程序
- 【Objective-C】03-第一个OC程序
- 黑马程序员_第一个OC程序
- 黑马程序员——c语言学习---第一个程序
- 【黑马程序员】【OC语言】我的第一个OC程序
- 黑马程序员——IOS基础---Objective-C第一节课---最简单的OC程序
- 黑马程序员——Objective-C——OC基础
- 黑马程序员--Objective-C——OC特有语法一
- 黑马程序员--Objective-C——OC特有语法二
- 黑马程序员——OC基础学习(一)---第一个OC语言程序和面向对象编程的基本认识
- 【Objective-C】04-第一个OC程序解析
- 【Objective-C】04-第一个OC程序解析
- 记录我的Spring学习过程,大神勿看
- BASIS--如何删除开发用户的开发Key
- adbkey与adbkey.pub
- self presentViewController 弹出框透明化
- 基于Struts2的文件上传
- 黑马程序员--Objective-C——第一个OC程序
- 关于SCO操作系统中配置crontab定时任务的一些经验
- ios证书制作与打包发布
- zookeeper使用和原理探究(一)
- ABAP开发如何动态的实现任意表的ALV显示
- 【数位DP】HDU 4389 X mod f(x)
- 【protobuf 001】 最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)
- Android NDK 示例
- ubuntu 14.04 server 下安装ZABBIX 及增加客户机配置过程