Object-C 基础学习(一)
2016-04-22 17:17
465 查看
Object-C,下面简称OC,从名字的字面上看就跟C是亲戚(javaScript和java却是非亲非故);OC是以C语言为基础的一个扩展集,可以用来编写苹果操作系统上的应用程序,开发工具使用苹果公司提供的Xcode,以下是一个OC版的HelloWord
新建了一个控制台应用程序,Xcode通过.m扩展名表示文件使用的是OC代码,由OC编译器处理,而C编译器处理.cpp文件,编译工作默认由LLVM处理,这个编译器能够理解C语言的3个变体。
这个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元素来处理
// // 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++类或者特性的时候才用这种扩展名。 |
#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元素来处理
相关文章推荐
- ./zabbix_server: error while loading shared libraries: libiconv.so.2: cannot open shared object file
- android setTag (int key, Object tag)抛出IllegalArgumentException的问题
- TypeError: object of type 'NoneType' has no len()
- 走进Scala——伴生对象(Companion Object)
- Object窥探
- [转] Objective-C中的@property和@synthesize用法
- Object-c 编程之道 IOS设计模式解析
- 深入理解Objective-C:Category(下)
- ES6-Object的变化
- 深入理解Objective-C:Category(上)
- JAVA----Object类
- Hide Objects in Congos Connection
- Object-C 获取对象的属性和值
- Object.prototype.constructor
- objective-c 属性修饰符
- The size of the object heap + VM data exceeds the maximum representable size问题解决办法
- SMW0报错:For selected object type excel no application has been defined Maintain the settings
- RCNN学习笔记(2):Rich feature hierarchies for accurate object detection and semantic segmentation
- RCNN学习笔记(1):Rich feature hierarchies for accurate object detection and semantic segmentation
- 详解 Objective-C 中的 Runtime