ios基础-小知识点收集(1)
不积跬步,无以至千里;不积小流,无以成江海。----荀子
收集学习ios中的小知识点,每天进步一点点。
(一)@class和 #import
class:只声明类,不会引入类文件,加快编译速度,防止类相互import出错;在m中仍然需要import整个类文件。
import导入整个类文件,在需要使用类中的变量、函数和协议的时候需要使用。
(二)静态变量static、全局变量extern、局部变量、实例变量
static:为整类而非单个对象使用,隐藏封装在类中,对外不可见。
extern:在方法外部定义的变量,作用域是整个源程序。全局变量不能在多个m文件中定义。
局部变量:在方法中定义的变量,作用域是方法内。
实例变量:在类文件方法外定义
(三)NSArray和NSMutableArray
首先,NSArray只能存储Objective-C 对象,而不能存储C语言中的基本数据类型,比如:int,flot,指针等。 在使用NSArray时,需特别注意,必须以nil
结尾,以此来代表结束。
NSArray 创建的是静态数组,一旦创建之后,就再也不能添加和删除数组中的对象了,只能替换。
NSMutalbeArray 创建的是动态数组,可随意添加或删除数组中的元素。
(四)bool、BOOL和Boolean的区别
在objc.h文件中如下定义
<span style="font-family:SimSun;font-size:18px;">typedef signed char BOOL; // BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C" // even if -funsigned-char is used. #define OBJC_BOOL_DEFINED #define YES (BOOL)1 #define NO (BOOL)0</span>
BOOL是个signed char类型,Boolean是unsigned char类型,bool是个整型。在oc框架中都是用BOOL,其他大部分地方是用bool。oc编程中常用BOOL。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。