zoukankan      html  css  js  c++  java
  • ios面试题

    1.控制器创建的方式?

    1).alloc init方式创建

    在AppDelegate中添加

    UIViewController * vc = [[UIViewcontroller alloc]init];

    self.window.rootViewController = vc;

    [self.window makeKeyAndVisible];

    2)UIstoryboard加载控制器

    UIViewController * vc = [[UIStoryboard storyboardWithName:()storyboardBundle()]instantiateViewControllerWithIdentifier()];

    3)从Xib中创建

    2.分类的用途?分类能定义成员变量吗?

     分类是对现有类的拓展,分类只能拓展方法,不能拓展属性

    3.readwrite readonly assign copy nonatomic属性的作用

    readwrite readonly 设置可供访问级别

    assign setter方法直接复制,不济宁retain操作,为了解决循环引用问题

    retain setter方法对参数进行release旧值在retain新值

    copy setter方法进行欧诺个Copy操作,与retain处理流程一样,先旧值release,再Copy出现对象,retainCount为1.这是为了减少对上下文的依赖而引入的机制

    nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。注意,如果不加此属性,则默认是两个访问方法都为院子型事物访问。

    4.在一个对象方法里面:self.name = @"aaa"与name = @"aaa"有什么区别

    self.name = @"aaa";会调用对象的setter方法

    name = @“aaa”直接赋值

    5.请简述self.name = nil的机制,以及与[name release]的区别

    self.name = nil; //使用nil参数调用setName方法

    [name release]生成的访问器将自动释放以前的name对象

    6.请简要说明viewDidLoad和viewDidUnLoad何时调用,didReceiveMemory

    viewDidLoad在view从nib文件中初始化时调用,loadView在controller的view为nil时调用

  • 相关阅读:
    ES5 05 Function扩展
    ES5 04 Array扩展
    ES5 03 Object扩展
    ES5 02 JSON对象
    ES5 01 严格模式
    Oracle 数据库复制
    PB函数大全
    Handle( ) //得到PB窗口型对象的句柄
    PB赋值粘贴 多个DW进行update
    pb 11 数据窗口空白,预览pb崩溃解决方案
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/4532986.html
Copyright © 2011-2022 走看看