iOS面试题汇总1

一.OC的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承还是分类好?为什么?
不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重即成;
Category:是类别,用于向已经从在的类添加方法从而达到扩展已有类的目的,和子类不同的是,Category不能用于向北扩展类添加实例变量,通常作为一种组织框架代码的工具来使用.
Category的用途:
1.在不创建继承类的情况下实现对已由类的拓展。
2.简化类的开发工作
3.将常用的相关方法分组。
4.在没有源代码的情况下可以用来修复BUG
一般情况下用分类好,用Category去重写类的方法,仅对本Cayegory有效,不会影响到其他类与原有类的关系。

二.#import和#include由什么区别,@class呢,#import<>跟#import""又有什么区别?
1.#import是OC导入头文件的关键字,#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次不会重复导入,相当于#include和#pragma once;
2.@class告诉编译器某个类的声明,当执行时,才会去查看类的实现文件,可以解决头文件的互相饱含;
3.#improt<>用来包含系统的头文件,#imoport""用来包含用户头文件

三.属性readwrite,readonly,assign,retain,copy,nonatomic各什么作用?在哪种情况下使用
readwrite:可读可写,需要生成getter,setter方法时使用
readonly:只读,只会生成getter方法,不会生成setter方法,不希望属性在类外改变
assign:赋值,setter方法将传入参数赋值给实例变量,仅设置变量时使用
retain:表示持有特性,setter方法将传入参数西安保留,再赋值,传入参数的retaincount会+1;
copy:表示拷贝特性,setter方法将传入对象复制一份,需要完全一份心得变量时使用。
nonatomic非原子操作,决定编译器生成的setter,getter是否是原子操作,atomic表示多线程安全,一般使用nonatomic.

四.写一个setter方法用于完成@property(nonatomic,retain)NSStringname,写一个setter方法用于完成@property(nonatomic,copy)NSStringname

-(void)setName:(NSString *)str
{
[name retain];
[name release];
name = str;
}

-(void)setName:(NSString*)str
{
id t = [str copy];
[name release];
name = t;
}

五.对于语句NSString *obj = [NSData alloc]init];obj在编译时和运行时分别是什么类型的对象。
编译时是字符串类型,运行时是NSData类型对象

六.常见的OC数据类型有哪些,和C的基本数据类型有什么区别。
NSString,NSArray,NSMutableArray,NSData等等,这些都是class,创建后便是对象,而C语言的基本数据类型是int,知识一定子节的内存空间,用于存放数值。

七.id声明的对象有什么特性
id声明的对象具有运行时的特性,可以指向任意类型的OC的对象

八.OC如何对内存管理的,说说你的看法和解决方法。
1.ARC(自动内存计数):通过alloc-initial方法创建的,创建后引用计数+1,此后每retain一次引用计数+1,那么在程序中做相应次数的release就可以了。
2.手动内存技术:一般由类的静态方法创建,函数名不会出现alloc或init滋养,创建后引用计数+0,在函数出栈后释放,相当于一个栈上的局部变量,也可以通过retain延长对象的生存期。
3.内存池:可以通过创建和释放内存池控制内存申请和回收的时机。由autorelease加入系统内存池,内存池时可以嵌套的,每个内存池都需要由一个创建释放对,将一个对象加入到最内层的系统内存池,当我们释放这个内存池时,其中的对象都会被释放。

八.使用nonatomic一定是线程安全的吗?
nonatomic的内存管理语义是非原子的,非原子的操作本来就是线程不安全的,而atomic的操作是原子的,但并不代表线程安全,能够增加正确机率,更好的避免线程错误,但是仍然是线程不安全的。
当使用nonatomic的时候,属性的setter和getter操作是非原子的,所以多个线程对某一属性进行读和写的操作,属性的最终结果是不能预测的。
atomic是线程安全的,nonatomic是线程不安全的。如果只是单线程操作的话用nonatomic最好,因为后者效率高。

九.如何高性能的给UIImageView加个圆角? (不准说layer.cornerRadius!)

一般情况下给 UIImageView 或者说 UIKit 的控件添加圆角都是改变clipsToBounds和layer.cornerRadius, 这样大约两行代码就可以解决. 但是, 这样使用这样的方法会强制 Core Animation 提前渲染屏幕的离屏绘制, 而离屏绘制就会为性能带来负面影响.
我们也可以使用另一种比较复杂的方式来为图片添加圆角, 这里就用到了贝塞尔曲线.
UIImageViewimageView= [[UIImageView alloc] initWithFrame:CGRectMake(0,0,100,100)]; imageView.center = CGPointMake(200,300); UIImageanotherImage= [UIImage imageNamed:@"image"]; UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0); [[UIBezierPath bezierPathWithRoundedRect:imageView.boundscornerRadius:50] addClip];[anotherImage drawInRect:imageView.bounds];imageView.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [self.view addSubview:imageView];

十.http的POST和GET有什么区别
GET类型的请求是幂等的,而POST请求是有副作用的,GET用于获取一些资源而POST用于改变一些资源,这可能会创建新的资源或者更新已有的资源。POST请求比GET请求更加安全,也可以传输更多的信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,118评论 29 470
  • 注:此文章来源:Job_Yang 的简书 1. Object-c的类可以多重继承么?可以实现多个接口么?Categ...
    广益散人阅读 1,341评论 0 13
  • 史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了----------...
    Style_伟阅读 2,342评论 0 35
  • iOS面试小贴士 ———————————————回答好下面的足够了------------------------...
    不言不爱阅读 1,955评论 0 7
  • 锦城花满饮琼楼,少年摇扇许风流 金尊斗杯歌与酒,笑谈他日我封侯 最温情红袖添香绕指柔, 再难舍轻舟别离相执手, 点...
    顾执七言阅读 285评论 0 0