08 2012 档案
摘要:Cocoa内存管理方法:retain、release和autorelease 概要: 每个对象都维护一个保留计数器:对象创建时其保留计数器值为1,对象被保留时计数器+1;对象释放时保留计数器-1;当保留计数器值为0时对象被销毁,在销毁对象时,首先调用对象的dealloc方法,再回收其占用的内存以供其他对象使用 当对象接受一条autorelease消息时,其保留计数器值不会立即改变,相反该对象只是被放入到NSAutoreleasePool中。当自动释放池被销毁时,会向池中所有对象发送release消息,所有被自动释放的对象都将其保留计数器值-1。如果保留计数器值为0则对象被销毁...
阅读全文
摘要:#import<Foundation/Foundation.h>int main(int argc,const char *argv){ NSAutoreleasePool *pool ;//自动释放池 pool =[[NSAutoreleasePool alloc] init]; NSFileManager *manager; manager=[NSFileManager defaultManager];//defaultManager类方法 用来创建NSFileManager对象 NSString *home; //stringByExpandingTi...
阅读全文
摘要:一、NSArray NSArray是Cocoa的一个类,用来存储对象的有序列表。限制: 1、只能存储Object-C的对象,不能存储C语言中的基本数据类型,如:int、float、enum、struct或者NSArray中的随机指针; 2、不可以存储nil(对象的零值或NULL值);至于为什么继续向下看如何创建? 通过类arrayWithObjects创建NSArray,以逗号分隔对象列表,在列表尾部添加nil代表列表结束(这就是不能在数组中存储nil的第一个原因(第二个继续向下)) 可以使用NSNull代表没有值 +(NSNull *) null; NSArray *array...
阅读全文
摘要://内存管理第六课#import <Foundation/Foundation.h>#import "Person.h"#import "Dog.h"int main(int argc,const char *argv){ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; Person *xiaoLi=[[Person alloc] init]; //dog1 1 Dog *dog1=[[[Dog alloc] init] autorelease]; //把Dog1这条狗放
阅读全文
摘要:一、创建字符串、类方法 公式创建NSString +(id) stringWithFormat:(NSString *) format,……;eg: NSString *height; height=[NSString stringWithFormat:@"高度是: %d 长度: %d",10,20];得到的字符串:“高度是: 10 长度: 20”注意: 省略号:表示可以接收多个参数,类似NSLog(); 加号:“+” Object-C运行时生成一个类的时候,会创建一个代表该类的类对象(类对象包含:指向超类的指针、类名、指向类方法列表的指针) 如何在声明方法时添加了加号,该
阅读全文
摘要:转自sina博客 可以先看下千锋视频可以先了解下“遛狗原理”。这篇写的蛮好,转了过来…… 关于什么时间用self. , 其实是和Obj-c的存取方法有关, 不过网上很多人也都这么解答的, 那它为什么和存取方法有关? 怎么有关的? 并没有多少人回答出来. 同时关于内存管理的内容, 请大家看旺财勇士的Objective-C内存管理总结~CC专版 , 有些东西我就不多解释了. 进入正题, 我们经常会在官方文档里看到这样的代码: MyClass.h @interface MyClass : NSObject { MyObject *myObject; } @proper...
阅读全文
摘要:1、Xcode的.m扩展名表示文件含有Object-C代码,C以.c文件,C++以.cpp文件2、头文件声明:C使用:#include,O-C使用#import(当然你也可以使用#include)3、输出方式: C:printf("",参数); O-C:NSLog(@"",参数);4、布尔类型 C:bool 具有true、false值 O-C:BOOL具有YES、NO值5、self vs super ['sju:pə]adj. 特级的;极好的 n . 特级品,特大号;临时雇员 当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从
阅读全文
摘要:猛一看还真有点糊糊;注意区别: 1、函数型指针:指函数返回值的类型。 指针型函数:返回值是一个指针(即地址) 2、int(*p)()和int *p() 是一样吗?为什么? int (*p)()是一个变量说明,说明 p 是一个指向函数入口的指针变量,该函数的返回值是整型量,(*p)的两边的括号不能少。 -->函数型指针 int *p()则不是变量说明而是函数说明,说明 p 是一个指针型函数,其返回值是一个指向整型量的指针,*p 两边没有括号。作为函数说明,在括号内最好写入形式参数.-->指针型函数 一、函数型指针 在C语言中,一个函数总是占...
阅读全文
摘要:网上关于在Win下搭建Object-C开发环境的文章很多,前两天就打算也弄一个玩玩,结果黑苹果试验失败了。主要还是配置不够,内存至少有个4G才勉强OK……我的本本3年多前买的宏基4726G,当时感觉性价比不错就买了,虽然用到现在没修理过,但是散热真的不行,所以建议还是多花点银子买个商务机的好下面是我的本本大概配置 : 关于搭建OC开发环境,这边我拿我试验成功的案例记录下。当然还是建议手里如果还有点还是去买个Mac,不过我想买个二手的。不知道园子里有没有朋友在做这块生意?如果有吼一声,谢谢。 一、安装 需要准备哪些? 需要到GNUstep官方网站上下载,四个软件包:GNU...
阅读全文
摘要:一、数组指针 1.指向数组元素的指针 1、定义:还是那句话通俗的说指针就是地址 数组指针:数组的起始地址 数组元素指针:数组元素的地址 2、定义一个指向数组元素的指针变量的方法,与之前介绍的指针变量相同。 例如: int a[10]; /*定义 a 为包含10 个整型数据的数组*/ int *p; /*定义p为指向整型变量的指针*/ 3、指针变量赋值: p=&a[0]; //或者:p=a; 原因是p,a,&a[0]均指向同一单元 把 a[0]元素的地址赋给指针变量 p。也就是说,p指向 a 数组的第 0 号元素。 4、格式 类...
阅读全文
摘要:WPF,WCF 如雷贯耳 早听说 WPF,WCF大名,但是就是一直没有去了解她……今天突然想去看看她长啥样?主要是给自己留个笔记,顺便比较下WPF和Winform之前的区别1.什么是WPF?有什么用? 定义:Windows Presentation Foundation(WPF){[,prezən'teiʃən, ,pri:-] n. 描述,陈述;介绍;赠送、[faun'deiʃən] n. 基础;地基;基金会;根据;创立}是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分
阅读全文
摘要:再次拿起C是2012年8月1日,回想第一次接触C还是大一下学期,大约是2006年。。。。大学C期末考试时我仍记得C考了76分……那年要不是C完全是可以拿一等奖学金的 六年了 之前虽熟悉C但是没认认真真去看去练习只晓得去应付考试。现在拿起来再瞅瞅…… 《C语言_谭浩强》关于指针学习时有这么一句话“在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握的。” 另一层意思就是指针还是很难滴 。。1.地址指针的基本概念 指针定义:通俗的说就是一个地址(常量)。书中定义:根据内存单元的编号或地址找到相应的内存单元“看图识字”: 设有字符变量 C,其内容为“K...
阅读全文