OC基础教程1-Hello Wrold(OS X版)
来源:互联网 发布:022型导弹艇 知乎 编辑:程序博客网 时间:2024/06/08 17:23
本来前两年就应该写技术博客了,一直在学习中。这次开始写技术博客一方面是自己学习总结,另一方面也是为了Christina。
OC背景
Objective-C,也就是通常所说的OC语言,是扩充C语言的面向对象编程语言。
它是苹果的OS X和iOS操作系统及其相关API、Cocoa和Cocoa Touch的主要编程语言。
它最初源于NextStep操作系统,之后在OS X和iOS中继承下来。
20世纪80年代初,Brad Cox 与Tom Love以SmallTalk-80语言为基础发明了Objective -C。
1. 目标
通过一个最简单的Hello World,来了解OC简语法和OC的开发环境。
2. 内容
2.1 开发环境
操作系统版本:Mac OS X 10.9.5(虚拟机里搞的系统,木有升级,升级卡)Xcode版本 :Xcode 6.1.1
2.2 Hello Wrold步骤
1)这里将演示OS X的命令行程序。故按下图选择最后按“Next”。
2)写好项目名称:HelloWorld,点击“Next”。
3)选择项目将保存的位置:例如保存到“13.Test”文件夹下。
4)点击main.m文件,可看到Xcode预留的Hello World的源代码。
5)点击右上角的“三角形”图标,将程序编译运行。
3.源代码分析
#import<Foundation/Foundation.h>int main(int argc,const char *argv[]){ @autoreleasepool{ NSLog(@"Hello,World!"); }}
3.1 #import 语句
.#import相当于C语言中的#include。
.#import是由Xcode使用的编译器提供的,Xcode在你编译Objective-C、C和C++程序时都会使用它。#import可保证头文件只被包含一次,无论些命令在该文件中出现了多少次。
3.2 框架
框架是一种把头文件、库、图片、声音等内容聚集在一个独立单元中的集合体。
至于怎么理解框架呢,我的简单理解就是:框架就是一个程序的工具箱,里面有人家发明的各式各样的工具,而你就可以不用再自己创造工具(因为暂时你没人家叼),而且可以直接就可以使用人家发明工具来做出自己想要的东东,写出自己想要的程序了。
苹果公司所用的Cocoa就是由Foundation和UIKit框架组成。
3.3 NSLog()和@”字符串“
NSLog()相当于printf()。就是向控制台输出字符串。
@”字符串“,这个没什么好解释的,就是让字符串穿上@”“的衣服,好让Xcode认识,这是字符串。
@符号是Objective-C在标准C语言基本上添加的特性之一。@符号意味着”“里的字符串应该作为Cocoa的NSString元素来处理。问题又来了NSString是什么?很简单滴,NSString= NS + String,NS就是为了将标准C语言里的String区别出来,就是一个简单前缀,用来避免和C语言名称冲突滴。
至于为什么是NS呢?这又是另一个故事了,提示一下,乔老爷子当年被苹果开除后,自已又开了一个新公司,搞了一个NEXTSTEP操作系统(牛逼)。后来苹果知道错了,又将乔老爷子请回苹果,于是乔老爷子带回了这个操作系统。(NextStep,NS)
3.4 @autoreleasepool
这个是内存管理的东东,这个东东留到后面专门讲解,内存管理的故事有点长。
4.总结+废话
1)写出了程序界著名的HelloWorld!
2)知道了OC是C语言的儿子,儿子身上有父亲的影子,同时儿子又特意区别自己与父亲的不同(前缀),儿子青出于蓝而胜于蓝(面向对象),但要记得,”老子才是天下第一“(开玩笑的啦!0.0)
3)@开头的字符串,如@”HelloWorld!“,NSLog()控制台输出,类似printf()。
- OC基础教程1-Hello Wrold(OS X版)
- hello wrold
- Hello Wrold
- hello wrold!
- Hello Wrold(2.5)
- Hello,Wrold之环境搭建
- Spring-Boot (一) Hello Wrold!
- HANA Hello Wrold about Calculation View
- linux驱动入门之hello wrold
- Spring Boot -- Swagger之Hello Wrold
- AJAX基础教程1---- Hello,world!
- RabbitMQ 基础教程(1) - Hello World
- SAS INTRNET HELLO,WROLD程序配置使用详解
- C++, 我的首个Hello Wrold 诞生,记录一下!
- arcgis for android 学习 - (2) hello Wrold. 显示一个地图
- 写给新手的第一个C程序:Hello Wrold!
- J2EE企业级开发基础教程(1) - Hello World
- runtime基础教程(1)-OC元素认知
- 适配器模式
- 比较好的winform-dataGridView例程网站
- 定义一个TreeMap,键存储的是书对象,值存储的是字符串。 根据书的出版出版日期排序。
- 设计模式-中介者模式
- 认清自己的位置
- OC基础教程1-Hello Wrold(OS X版)
- jdk1.5新特性之-------静态导入
- C#中的线程(三) 使用多线程
- C 【block类型全方位详解】
- jdk1.5出现的新特性---->增强for循环
- jdk1.5新特性之------->可变参数
- linux内核之 V4L2框架分析
- 风风雨雨,我们又一年
- 欢迎使用CSDN-markdown编辑器