Object-C,下面简称OC,从名字的字面上看就跟C是亲戚(javaScript和java却是非亲非故);OC是以C语言为基础的一个扩展集,可以用来编写苹果操作系统上的应用程序,开发工具使用苹果公司提供的Xcode,以下是一个OC版的HelloWord
//
// main.m
// HelloWord
//
// Created by huangzhebin on 16/4/21.
// Copyright © 2016年 huangzhebin. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSString* s = @"hello world";
NSString* anotherString = [NSString stringWithFormat:@"%d %@", 1, @"secondString"];
NSString* fromCString = [NSString stringWithCString:"a C string"encoding:NSASCIIStringEncoding];
NSLog(@"string");
NSLog(@"%@", anotherString);
NSLog(@"%@", fromCString);
NSLog(@"%@", s);
}
return 0;
}
新建了一个控制台应用程序,Xcode通过.m扩展名表示文件使用的是OC代码,由OC编译器处理,而C编译器处理.cpp文件,编译工作默认由LLVM处理,这个编译器能够理解C语言的3个变体。
扩展名 | 内容类型 |
.h | 头文件。头文件包含类,类型,函数和常数的声明。 |
.m | 源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。 |
.mm | 源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。 |
这个main.m文件与大一时学过的C语言很相似,main 与return (0),但是原本C语言用来引入头文件的#include变成了#import,这个倒是和java引入包使用的import看起来相似,#import可保证头文件只被包含一次
#import <Foudation/Foudation.h> 引入Foundation框架中的Foundation.h头文件。框架是一种把头文件、库、图片、声音等内容聚集在一恶搞独立单元中的集合体,Apple公司将Cocoa、Carbon、QuickTime和OpenGL等技术作为框架集提供,Cocoa的组成部分有Foundation和Application Kit框架,此外还有一套支持型框架Core Animation和Core Image。Foundation框架处理的是用户界面下的layer的特性,比如数据结构和通信机制。
里面用到了一个输出语句NSLog,其实就相当于C语言的printf和java中的System.out.print();接收一个字符串作为参数,加在输出内容前面的@符号是OC在C语言基础上添加的特性之一,@符号表示将后面的双引号里的内容作为Cocoa的NSString元素来处理