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类型,Booleanunsigned char类型,bool是个整型。在oc框架中都是用BOOL,其他大部分地方是用bool。oc编程中常用BOOL。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值