首页 > 代码库 > ios基础-小知识点收集(1)
ios基础-小知识点收集(1)
不积跬步,无以至千里;不积小流,无以成江海。----荀子
收集学习ios中的小知识点,每天进步一点点。
(一)@class和 #import
class:只声明类,不会引入类文件,加快编译速度,防止类相互import出错;在m中仍然需要import整个类文件。
import导入整个类文件,在需要使用类中的变量、函数和协议的时候需要使用。
(二)静态变量static、全局变量extern、局部变量、实例变量
static:为整类而非单个对象使用,隐藏封装在类中,对外不可见。
静态变量的优点:
1、节省内存。静态变量只存储一处,但供所有对象使用。
2、它的值是可以更新的。
3、可提高时间效率。只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。
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。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。