Loading...
assign: 简单赋值,不更改索引计数copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1Copy其实是建立了一个相同的对象,而retain不是:比如一个NSString对象,地址为0×1111,内容为@”S...
NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域,一旦初始化,不能通过它对该内存区域的数据进行修改操作,但是它可以读数据。NSMutableArray是动态的是NSArray的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容NSArray和NSmuta...
Objective-C 支持的类型有两种:基本类型 和 类。基本类型,如同C 语言中的 int 类型一样,拿来就可以直接用。 而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值。 类的初始化,需用类自身的方法 (类方法)。 代码中所创建的对象,不用后,还得记着释放。做了这么...
self相当于c++里面的this,表示类的对象本身。加个self.是为了调用对应的set方法,如果不加,就不调用,不掉用就会造成引用计数的retainCount不加一,不加一就会被直接释放,结果就是在数据源那个方法中得到空值,没法使用,程序崩溃。所以需要调用对应的方法就加上self. ,不需...
虽然ARC引入之后NSAutoReleasePool的使用有了很大变化,但是了解NSAutoReleasePool的机制还是十分必要的,下面主要说一下:NSAutoReleasePool * pool = [NSAutoReleasePool alloc] init];//do somethi...
1.#import和#include的区别是#import已经内置了条件预编译,防止重复包含,而#include则是需要手动使用#ifndef……#define……#endif;来实现前置声明2.objective-c内存管理原则当使用new、alloc或copy方法创建一个对象时,该对象引用...
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。假设b=2,c=7,d=5,a1=(++b,c--,d+3)a2=++b,c--,d+3对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,...
堆和栈的区别一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 :1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员...
// // AdressCard.h // Fmzongjie // // Created by neworigin on 14-9-16. // Copyright (c) 2014年 Damon. All rights reserved. // #import &...
NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合; NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序...