1 外部变量到底是怎么回事?是在一个文件的所有@interface,@implements 块外声明的变量,那么声明时不使用extenal关键字,而在使用时使用?在其他文件里可以用这个文件里的这个外部变量?
2 协议的用途究竟是什么?如果一个类遵循某协议,是不是就不用在@interface里声明那些方法了?
3 autorelease,如果当时无法release,则可以像自动释放池发送autorelease消息,当执行到[pool drain]时其就会收到release消息,计数器-1,如果等于0则被回收。那是不是所有使用release的时候都可以替换为autorelease方案呢?应该是不行,因为你retain了好几次,但是只能autorelease一次。
4 使用alloc,new,copy,retain都需要release释放,放到集合时计数器+1,同时放入到自动释放池中,移出集合计数器-1。retain一次就要release一次,或者发送一个autorelease,让pool帮你发送release。字符串使用stringWithString创建也一样,计数器+1,并autorelease,所以使用时可以通过retain以免被释放。IPhone的那些UI组件好像也都是如此。
关于内存管理有个总结帖http://www.cocoachina.com/bbs/read.php?tid-12760-fpage-3.html
目前对于跟UI有关的内存问题还是没太搞清楚,比如尼玛这个为啥就不需要释放呢?
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
UIViewController *viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil] autorelease];
UIViewController *viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil] autorelease];
self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
self.window.rootViewController = self.tabBarController;
5 指针,间接访问数据项。
int *a 告诉编译器a是个指针
int b=10,a=&b,把b的指针赋值给a,而不是把b的值给a。指针就是指向那个值的一个东东(不准确地说法就是引用或者句柄,但实际上它们的关系是引用可以通过指针等方式实现),可以说指针是这个数据所在的地址,变量可以到这个地址去取数。
int x=*a,*表示从这个指针变量中取数,然后把这个数值赋给x。
其实折腾这么多步干了一件事 x=b=10。
但是如果地址对应的内容会变化,那么就可以每次通过*号取出不同的值,而不是把内容直接赋值给变量。
这东西都是针对于C语言说的,在OBC中,对象就是引用赋值的(也可以理解为指针)。比如A *a1=[[A alloc] init]; A *a2=a1,就是将a2也指向了a1对应的对象。但是这个对象的引用计数仍然不变,手工方式只有通过retain才能增加引用技术。
另一个例子:char c='C';
注意char *a=&c;
和char *a; a=&c;
以及
char *a=&c; *a='I';表示将字符‘I’赋值给了变量a指向的那个数据(通过指针找到了数据存放位置,然后把值替换了),此时c和a的值都是‘I’
对于结构体 struct A{ int a; }; 可以这样A->a=10; 、、
有时有的东西看起来像对象其实不是,就不能定义为指针变量,比如NSInteger
分享到:
相关推荐
深度集成OBC+DCDC拓扑方案
电动汽车车载电源概述 3.3kw车载充电机(OBC) 电路 6.6kw双向车载充电机(OBC)电路 车载DC/DC电源电路拓扑方案 充电桩(地面) 电路拓扑 SiC 器件应用与 OBC新技术
新能源6.6KW7KW 3.3KW 11KW车载充电机OBC开关电源设计方案 另有15KW ai默生 数字控制:电压电流环控制核心算法 PFC?LLC采用TMS320F28035芯片 3.3KW车载充电机开关电源设计方案资料数字控制单相PFC与全桥LLC 2、新能源...
新能源汽车车载双向OBC,PFC,LLC,V2G 双向 充电桩 电动汽车 车载充电机 充放电机 MATLAB仿真模型 : (1)基于V2G技术的双向AC DC、DC DC充放电机MATLAB仿真模型; (2)前级电路为双向AC DC单相PWM整流器,输入AC...
LLC双闭环数字控制方法控制环路计算
深度集成OBC%2BDCDC拓扑方案.zip
电动汽车OBC 与DCDC 集成式产品研究.pdf
碳化硅SiC MOSFET OBC应用技术
OBC_TECS.sln
关于车载充电机DCDC转换器的讲解
安森美PFC 10W 风扇方案
github代码地址:setupOnUbuntu部署区块链的OBC及hyperledger/fabric项目程序比较复杂,首先先启动vagrant下载一个virtualbox的镜像,之后在该box中安装docker,通过docker来编译项目。这样会导致两个问题:1、由于...
在学习swift 的过程中,转换了院MAC 例子 CircleView,转换成了swift 工程。我使用的是XCode6 Bata5.希望能对大家有用。
Meeting the design requirements for Bi-Directional-Capable OBC
电动汽车用OBC-LDC一体化动力装置的拓扑结构及控制方案。准备做集成OBC和LVDC的仿真,但它还处于早期,希望能一起讨论。
specific Due to the large number of conceivable combinations of sensing
电动汽车车载充电机 (OBC) 与车载 DC/DC 转换器技术 一、高性能电动汽车车载充电机(OBC) 电路 二、双向充电机(Bi-OBC )技术方案 三、车载DC/DC 转换器电路拓扑比较 四、充电桩电力电子变换器
Onsemi_采用功率模块进行电动汽车车载充电(OBC)系统设计和仿真
ONSEMI_三相11 kW PFC + LLC电动汽车车载充电(OBC)平台用户手册