- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. Object-c类可以多重继承么?可以实现各种接口么?Category是什么?重写一种类方式用继承好还是分类好?为什么?
答: Object-c类不可以多重继承;可以实现各种接口,通过实现各种接口可以完毕C++多重继承;Category是类别,普通状况用分类好,用Category去重写类办法,仅对本Category有效,不会影响到其她类与原有类关系。
2. #import 跟#include 又什么区别,@class呢,#import 跟 #import””又什么区别?
答:#import是Objective-C导入头文献核心字,#include是C/C++导入头文献核心字,使用#import头文献会自动只导入一次,不会重复导入,相称于#include和#pragma once;@class告诉编译器某个类声明,当执行时,才去查看类实现文献,可以解决头文献互相包括;#import用来包括系统头文献,#import””用来包括顾客头文献。
3. 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种状况下用?
答:
1). readwrite 是可读可写特性;需要生成getter办法和setter办法时
2). readonly 是只读特性 只会生成getter办法 不会生成setter办法 ;不但愿属性在类外变化
3). assign 是赋值特性,setter办法将传入参数赋值给实例变量;仅设立变量时;
4). retain 表达持有特性,setter办法将传入参数先保存,再赋值,传入参数retaincount会+1;
5). copy 表达赋值特性,setter办法将传入对象复制一份;需要完全一份新变量时。
6).nonatomic 非原子操作,决定编译器生成setter getter与否是原子操作,atomic表达多线程安全,普通使用nonatomic
4.写一种setter办法用于完毕@property (nonatomic,retain)NSString *name,写一种setter办法用于完毕@property(nonatomic,copy)NSString *name
答:
- (void) setName:(NSString*) str
{
[str retain];
[name release];
name = str;
}
- (void)setName:(NSString *)str
{
id t = [str copy];
[name release];
name = t;
}
5.对于语句NSString*obj = [[NSData alloc] init];obj在编译时和运营时分别时什么类型对象?
答: 编译时是NSString类型;运营时是NSData类型对象
6.常用object-c数据类型有那些, 和C基本数据类型有什么区别?如:NSInteger和int
答:object-c数据类型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,这些都是class,创立后便是对象,而C语言基本数据类型int,只是一定字节内存空间,用于存储数值;NSInteger是基本数据类型,并不是NSNumber子类,固然也不是NSObject子类。NSInteger是基本数据类型Int或者Long别名(NSInteger定义typedef long NSInteger),它区别在于,NSInteger会依照系统是32位还是64位来决定是自身是int还是Long。
7.id 声明对象有什么特性?
答:Id 声明对象具备运营时特性,即可以指向任意类型objcetive-c对象;
8.Objective-C如何对内存管理,说说你看法和解决办法?
答:Objective-C内存管理重要有三种方式ARC(自动内存计数)、手动内存计数、内存池。
1). (Garbage Collection)自动内存计数:这种方式和java类似,在你程序执行过程中。始终有一种高人在背后精确地帮你收拾垃圾,你不用考虑它什么时候开始工作,如何工作。你只需要明白,我申请了一段内存空间,当我不再使用从而这段内存成为垃圾时候,我就彻底把它忘掉掉,反正那个高人会帮我收拾垃圾。遗憾是,那个高人需要消耗一定资源,在携带设备里面,资源是紧俏商品因此iPhone不支持这个功能。因此“Garbage Collection”不是本入门指南范畴,对“Garbage Collection”内部机制感兴趣同窗可以参照某些其她资料,但是说诚实话“Garbage Collection”不大适适当时学者研究。
解决:通过alloc
您可能关注的文档
最近下载
- 领读经典-外国文学(1)(山东大学)中国大学MOOC慕课 章节测验期末考试客观题答案.docx VIP
- 《电机与拖动基础》课件(共十一章).ppt VIP
- 《PyTorch与深度学习实战》第2章 PyTorch深度学习通用流程.pptx VIP
- 简谱D 想着我Think of Me简谱歌剧魅影.pdf VIP
- 2023-2024学年安徽省马鞍山市第八中学九年级上学期期中考试化学试卷.pdf VIP
- 《PyTorch与深度学习实战》第3章 PyTorch深度学习基础.pptx VIP
- 好书推荐《朝花夕拾》读书分享名著导读PPT课件.pptx VIP
- 22个专业95个病种中医临床诊疗方案目录44.pdf VIP
- 精品解析:天津市第四十三中学2024-2025学年高一上学期第一次月考英语试题(解析版).docx VIP
- 2025年北京市东城区九年级初三一模语文试卷(含答案).docx
文档评论(0)