zoukankan      html  css  js  c++  java
  • B7-iOS基础面试题

    1.object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?

         object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是分类,一般情况用分类好,用Category去重写类的方法,仅对本类有效,不会影响到其他类与原有类的关系。用继承难以实现原来类和别的类之间的关系。

         object-c实现C++的多重继承的方法?

         1、消息传递

         2、代理和协议

         3、分类

         注:个人觉得组合也可实现,有高手请指教。

    2.常见的object-c的数据类型有那些, 和C的基本数据类型有什么区别?如:NSInteger和int

    #if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
    typedef long NSInteger;
    typedef unsigned long NSUInteger;
    #else
    typedef int NSInteger;
    typedef unsigned int NSUInteger;
    #endif

         object-c的数据类型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,这些都是class,创建后便是对象,而C语言的基本数据类型int,只是一定字节的内存空间,用于存放数值。

    3.如何对iOS设备进行性能测试?

        Profile-> Instruments ->Time Profiler

    4.Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?

        线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;在主线程执行代码,方法是performSelectorOnMainThread,如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone:

    参考资料:http://blog.csdn.net/xunyn/article/details/8302787 iOS基础面试题    http://blog.csdn.net/yiyaaixuexi/article/details/8970734    OC多继承

     
     
  • 相关阅读:
    springboot获取application.yml中的配置信息
    springboot+mybatis整合(单元测试,异常处理,日志管理,AOP)
    最近工作中的一些教训
    SAP BADI的“多次使用”(multiple use)
    SAP CRM 忠诚度相关表的关系图
    一个噩梦
    i.s.h.med Enhancement for cancelling an appointment
    一个冷门语言开发者的2016年总结和2017年目标
    装机的几个误区
    关于BAPI_PATIENT_CREATE(病患主数据创建)
  • 原文地址:https://www.cnblogs.com/yaann/p/4231372.html
Copyright © 2011-2022 走看看