iOS面试题整理

[email protected] 后面可以有哪些修饰符?

1.读写性:
readwrite:可读可写,系统为我们创建这个属性的setter和getter方法
readonly:只读,系统只为我们创建一个setter方法
2.setter相关:
assign:表示直接复制,用于基本数据类型(NSInteger和CGFloat)和C数据类型(int, float, double, char等)另外还有id类型这个修饰符不会牵涉到内存管理,不可用于对象类型,否则会导致内存泄露或者错误
retain:针对对象类型尽心内存管理,不可对基本数据类型使用,当用于对象类型时,setter方法会先将就得对象属性release掉,在对新的对象进行一次赋值,并进行一次retain操作.
copy:主要用于NSString类型,表示复制内容
系统默认属性是assign,retain是指针的复制,copy是内容的复制
3.原子性
atomic:表示是线程安全的
nonatomic:表示是非线程安全的,使用此属性性能会提高一些
4.getter和setter
@property (getter = isOpen) BOOL open;
5.ARC中
strong:类似retain
weak:类似assign

@synthesize propertyName
编译器还会做一件事情,在类成员变量中查找一个名为_propertyName的成员变量,如果没有,再继续查找名为propertyName的成员变量,如果这两个都没有,编译器会自动为我们生成一个私有的名为_propertyName的成员变量。注意,系统自动创建的都是私有的。
但是在Xcode 4.5之后可以不用写

  

时间: 2024-10-24 16:52:30

iOS面试题整理的相关文章

半年努力,我终于把这100家企业iOS面试题整理完了(附答案)!

####100家知名企业今年来iOS面试题合集: 你要的这里都有: 企业要的这里也有: 从基础开始到进阶.深入底层 整理出188个面试题,全是干货 这些全部是题目跟类目,每个题目都会有相对的答案,由于字数太多所以我整理出一个文档,文档获取地址,作者创建的iOS行业交流群:763164022,加群在群文件下载 ####目录展示: 1.swift和oc的区别2.编译链接3.synthesize & denamic4.在项目开发中常用的开发工具有哪些?5.UITableView & UIColl

ios面试题整理(答案有的是网上找的,有的是根据理解自己做的)

1.ViewController的生命周期 按结构可以对iOS的所有ViewController分成两类: 1.主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITableViewController,UIViewController. 2.用于控制和显示其他ViewController的ViewController.这种ViewController一般都是一个ViewController的容器.如UINavigation

iOS面试题整理(上) 仔细研读受益匪浅

1. 风格纠错题 修改完的代码: 修改方法有很多种,现给出一种做示例: // .h文件 // http://weibo.com/luohanchenyilong/ // https://github.com/ChenYilong // 修改完的代码,这是第一种修改方法,后面会给出第二种修改方法 typedef NS_ENUM(NSInteger, CYLSex) { CYLSexMan, CYLSexWoman }; @interface CYLUser : NSObject<NSCopying

M2在奋斗之ios开发--ios面试题整理(持续更新)

基础部分(一) 1. Objective-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? OC不能多继承,但是可以通过实现多个接口达到多继承的目的.Category是分类.重写一个类当然是用继承好,分类主要用途是扩展类. 2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import”"又什么区别? #import是OC导入头文件的关键字,#include是C++导入头文件

朋友总理的ios面试题

什么是KVO 和KVC,它们的区别,举一个你用过的例子? KVC(Key-Value-Coding)内部的实现:一个对象在调用setValue的时候,(1)首先根据方法名找到运行方法的时候所需要的环境参数.(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口.(3)再直接查找得来的具体的方法实现. KVO(Key-Value-Observing):当观察者为一个对象的属性进行了注册,被观察对象的isa指针被修改的时候,isa指针就会指向一个中间类,而不是真实的类.所以isa指针其实不

iOS面试题 第一天

今天上午,下午分别面试了两家公司.上午是一家互联网公司,气氛还比较好,是我比较喜欢的.技术这块是直接机试,主要是给了些BUG让我修复,整个过程还算顺利.下午去了一家大型的证券公司.整理技术问题如下: 1. UIView的生命周期是什么样的,执行顺序是怎么样的?init -- loadView -- viewDidLoad -- viewWillAppear -- viewWillDisappear -- viewDidUnload -- dealloc. 2. UIViewController在

iO经典笔试题整理

iOS经典笔试题整理---2014年8月 1.回答person的retainCount值,并解释为什么 Person * per = [[Person alloc] init]; 此时person 的retainCount的值是1self.person = per; 在self.person 时,如果是assign,person的 retainCount的值不变,仍为1若是:retain person的retainCount的值加1,变为2 若是:copy person的retainCount值

最全的iOS面试题及答案-转载

1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现多个接口可以完成C++的多重继承:Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?

原 IOS之NSValue整理

原 IOS之NSValue整理 发表于2年前(2013-02-28 23:02)   阅读(1974) | 评论(0) 5人收藏此文章, 我要收藏 赞3 IOS NSValue 值对象(value object)概念 在面向对象的编程语言中,值对象本质上是数据元素的的对象包装器,所谓数据元素,常见的包含string,number,date类型以及其它自定义的结构体类型.Objective-C语言本身提供了string,number,date相对应的包装类,分别是NSString,NSNumber