【读书笔记】iOS-Objective-C对C的扩展基础知识
2015-08-26 22:56
633 查看
一,Xcode的.m扩展名表示文件含有Objective-C代码,应由Objective-C编译器处理。C编译器处理名称以.c结尾的文件,而C++编译器处理.cpp文件。在Xcode中,所有这些编译工作全由GCC处理,这个编译器能够理解C语言的全部3个变体。
二,Objective-C刚诞生的时候,扩展名.m代表message,指的是Objective-C的一个主要特性。
三,和C语言一样,Objective-C使用头文件来包含元素声明,这些元素包括结构体,符号常量,函数原型等。C语言使用#include语句通知编译器应在头文件中查询定义。#import是GCC编译器提供的,Xcode在编译Objective-C,C和C++程序时都会使用它。#import可保证头文件只被包含一次,而不论此命令实际上在那个文件中出现了多少次。
四,在C语言中,程序员通常使用基于#ifdef命令的方案来避免一个文件包含另一个文件,而后者又包含第一个文件的情况。而在Objective-C中,程序员使用#import实现这个功能。
五,使用NSLog()输出任意对象的值时,都会使用%@格式说明,在使用这个说明符时,对象通过一个名为description的方法提供自己的NSLog()格式,NSString的description方法可简单输出字符串中的字符。
参考资料 《Objective-C基础教程》
二,Objective-C刚诞生的时候,扩展名.m代表message,指的是Objective-C的一个主要特性。
三,和C语言一样,Objective-C使用头文件来包含元素声明,这些元素包括结构体,符号常量,函数原型等。C语言使用#include语句通知编译器应在头文件中查询定义。#import是GCC编译器提供的,Xcode在编译Objective-C,C和C++程序时都会使用它。#import可保证头文件只被包含一次,而不论此命令实际上在那个文件中出现了多少次。
四,在C语言中,程序员通常使用基于#ifdef命令的方案来避免一个文件包含另一个文件,而后者又包含第一个文件的情况。而在Objective-C中,程序员使用#import实现这个功能。
五,使用NSLog()输出任意对象的值时,都会使用%@格式说明,在使用这个说明符时,对象通过一个名为description的方法提供自己的NSLog()格式,NSString的description方法可简单输出字符串中的字符。
参考资料 《Objective-C基础教程》
相关文章推荐
- 【读书笔记】iOS-Objective-C对C的扩展基础知识
- Objective-C 【构造方法(重写、场景、自定义)、super】
- Objective-C 【构造方法(重写、场景、自定义)、super】
- 关于objectIsForcedForKey这个方法不好用的原因
- Object -C NSSet -- 笔记
- ObjectiveC开发教程--如何去除字符串中的空格和回车
- 将Map<String,Object> 转String存储数据库
- Objective-C 中 +load 与 +initialize
- 斯坦福大学iOS应用开发教程学习笔记(第一课) MVC/Objective-C
- 黑马程序员——ios基础---Objective-C:ARC、类别、Block、协议
- Objective-C( 语法二)
- 论文提要“Hypercolumns for Object Segmentation and Fine-grained Localization”
- proc文件系统、sysfs文件系统、kobject操作
- BLToolKit: how to insert a list of objects?
- FileOutputStream,BufferedOutputStream,对象的序列化与反序列化ObjectOutputStream
- ObjectiveC中的self.变量和_变量的区别
- superobject中 JavaToDelphiDateTime的使用
- iOS入门如何选择Swift和objective-c
- BLToolkit. Mapping ObjectToObject, without copy creation.
- c语言, objective code(new 1)