iOS高级必备

1.你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?

Objecitve-C的重要特性是Runtime(运行时),在#import <objc/runtime.h> 下能看到相关的方法,用过objc_getClass()和class_copyMethodList()获取过私有API;使用  
```objective-c
Method method1 = class_getInstanceMethod(cls, sel1);
Method method2 = class_getInstanceMethod(cls, sel2);
method_exchangeImplementations(method1, method2);  


2.你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?


3.Core开头的系列的内容。是否使用过CoreAnimation和CoreGraphics。UI框架和CA,CG框架的联系是什么?分别用CA和CG做过些什么动画或者图像上的内容。(有需要的话还可以涉及Quartz的一些内容)


4.是否使用过CoreText或者CoreImage等?如果使用过,请谈谈你使用CoreText或者CoreImage的体验。


5.NSNotification和KVO的区别和用法是什么?什么时候应该使用通知,什么时候应该使用KVO,它们的实现上有什么区别吗?如果用protocol和delegate(或者delegate的Array)来实现类似的功能可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?(虽然protocol和delegate这种东西面试已经面烂了…)


6.你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用NSOperationQueue,实现了什么?请描述它和G.C.D的区别和类似的地方(提示:可以从两者的实现机制和适用范围来描述)。


7.既然提到G.C.D,那么问一下在使用G.C.D以及block时要注意些什么?它们两是一回事儿么?block在ARC中和传统的MRC中的行为和用法有没有什么区别,需要注意些什么?


8.您是否做过异步的网络处理和通讯方面的工作?如果有,能具体介绍一些实现策略么?


9.对于Objective-C,你认为它最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以的话,你有没有考虑或者实践过重新实现OC的一些功能,如果有,具体会如何做?

 

1:isa指针
2:动态能力(运行时决定)
3:范畴(categories-------为某个类添加方法而又不必制作子类
4:协议(protocols)-------非常相似java中的接口Interface
动态能力使程序可以突破编译和连接时的约束,将更多符号辨识的工作转移到处于受控状态的运行环境上。

 

动态类—在运行时确定对象的类      id数据类型,

 表示任意的Cocoa对象,可通过内省在运行时确定所属的类。

动态绑定—在运行时确定要调用的方法  

 运行时的消息分发机制

动态装载—在运行时为程序增加新的模块  

 Cocoa程序可以在需要的时候才装载执行代码和资源


10.你实现过一个框架或者库以供别人使用么?如果有,请谈一谈构建框架或者库时候的经验;如果没有,请设想和设计框架的public的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易地使用你的框架。

转载于:https://www.cnblogs.com/apem/p/4349927.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏计算机重要参数,这真的很重要吗 游戏鼠标三大参数之谜

1游戏鼠标三大参数&#xff1a;采样率[中关村在线键鼠频道原创]游戏鼠标作为目前最受消费者关注的外设产品&#xff0c;其销量以及利润在市场上也是表现最为出色的&#xff0c;众多游戏外设厂商也推出各种各样的游戏鼠标&#xff0c;各种霸气的名字更是让我们看的眼花缭乱&…

[Android]Activity启动过程

Android系统启动加载流程&#xff1a; 参考图 Linux内核加载完毕启动init进程init进程fork出zygote进程zygote进程在ZygoteInit.main()中进行初始化的时候fork出SystemServer进程SystemServer进程开启的时候初始化ActivityThread和ActivityManagerService&#xff08;其它还有P…

CentOS 7 中firewall-cmd命令

在 CentOS 7 暂时开放 ftp 服务# firewall-cmd --add-serviceftp永久开放 ftp 服务# firewall-cmd --add-serviceftp --permanent永久关闭# firewall-cmd --remove-serviceftp --permanentsuccess让设定生效# systemctl restart firewalld检查设定是否生效# iptables -L -n | g…

计算机网络又称国际互联网,Internet属于( )。 A.国际互联网B.内部网C.局域网D.电话网 - 作业在线问答...

相关题目与解析Internet属于()。A.内部网B.局域网C.公用电话网D.国际互联网Internet称为()。A&#xff0e;国际互联网B&#xff0e;广域网C&#xff0e;局域网D&#xff0e;世界信息网INTERNET也称为()。A.局域网B.对等网C.国际互联网D.以太网因特网(Internet)又称A、局域网B、…

substring 在C#,Javascript,SQL 中index开始值

substring函数index参数在三个平台的开始值: 平台index参数开始值C#0Javascript0SQL1转载于:https://www.cnblogs.com/jimcsharp/p/4354192.html

Android的十六进制颜色值

颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255&#xff08;00 到 ff&#xff09;。对于 alpha&#xff0c;00 表示完全透明&#xff0c;ff 表示完全不透明。表达式顺序是“aabbggrr”&#xff0c;其中“aaalpha”&#xff08;00 到 ff&am…

在线mod计算机,MOD大师教程 手把手教你改造电脑机箱

MOD将代替DIY风靡中国中国的DIY已经从P2时代极少数的用户发展到现在让品牌机头疼不已的庞大用户群体&#xff0c;电脑的DIY已经不能再被说成是一个技术了。那么追求个性的玩家们只能坐以待毙吗&#xff1f;当然不是了&#xff0c;于是MOD在国内也慢慢地兴盛起来。漂亮的机箱主题…

signals系列之一——基本用法

摘自&#xff1a;http://zengrong.net/post/1504.htm转载于:https://www.cnblogs.com/man-li/p/4354201.html

桌面上的文件使计算机变慢吗,电脑用久了会变卡怎么办?让电脑变得流畅方法图解...

工作生活中我们的电脑时间用久了&#xff0c;就会变得很卡&#xff0c;那么如何做会让电脑变得流畅一点呢&#xff0c;小编教大家几招。步骤首先要保持windows桌面整洁&#xff0c;尽量少放一些文件&#xff0c;因为桌面上的文件都是放在C盘&#xff0c;电脑系统一般也是装在C盘…

FetchType与FetchMode的区别

使用例&#xff1a; OneToMany(mappedBy"item",cascadeCascadeType.ALL,fetchFetchType.EAGER) Fetch(valueFetchMode.SUBSELECT) 两者比较&#xff1a; 两者都是设定关联对象的加载策略。前者是JPA标准的通用加载策略注解属性&#xff0c; 后者是Hibernate自有加载…

计算机无线局域网毕业论文,谈教学设计《计算机网络》网络课程“无线局域网”单元的设计与开发大专毕业论文范文...

中文摘要4-5ABSTRACT5-91 引论9-221.1 不足的提出9-101.2 国内外探讨近况10-131.2.1 文献综述10-121.2.2 网络课程建设近况12-131.3 探讨目标以及作用131.3.1 探讨目标131.3.2 探讨作用131.4 探讨的策略13-141.5 探讨的思路14-221.5.1 任务驱动教学法15-181.5.2 MOODLE 平台介绍…

单例模式到Java内存模型

先说单例模式&#xff1a; 经典的单例模式实现&#xff1a; 饿汉式&#xff1a; public class Singleton {private static Singleton instance new Singleton();public static Singleton getInstance(){return instance;} } 懒汉式&#xff1a; public class Singleton {priva…

html 转word c#,c#操作word类,进行html和word文档的互相转换

#region 把Word文档装化为Html文件/** ///把Word文档装化为Html文件/// /// 要转换的Word文档public static void WordToHtml( stringstrFileName ){string saveFileName strFileName DateTime.Now.ToString( "yyyy-MM-dd-HH-mm-ss" ) ".html";WordToHt…

poj 1276 多重背包

735 3 4 125 6 5 3 350    //735的最大额&#xff0c;3种&#xff0c;4个125,6个5,3个350 633 4 500 30 6 100 1 5 0 1 735 0 0 3 10 100 10 50 10 10 735 630 0 0 1 #include<cstdio>2 #include<iostream>3 #include<algorithm>4 #include<…

《深入剖析Tomcat》阅读(三)

这里要介绍下Tomcat的一个重要设计方法&#xff0c;Catalina设计方式。 Servlet容器是一个复杂系统&#xff0c;但是&#xff0c;它有三个基本任务&#xff0c;对每个请求&#xff0c;servlet容器会为其完成以下三个操作&#xff1a; 1.创建一个Request对象&#xff0c;用可能会…

美图秀秀计算机教程,美图秀秀怎么抠图 美图秀秀抠图详细教程

怎么抠图&#xff1f;这是很多人在进行图片处理过程中经常处理的问题。对于那些专业人士来说&#xff0c;他们大多数用的是PS软件。但是对于绝大多数没有接触过PS的小白来说&#xff0c;怎么抠图成为了一大难题。其实&#xff0c;用过美图秀秀这款软件的朋友来说&#xff0c;它…

磁盘及文件系统的管理

分区是为了创建文件系统MBR&#xff1a;创建分区后&#xff0c;为了能够快速的存取文件就有了文件系统inode&#xff1a;中存储了文件属组&#xff0c;等与文件数据没有关系的文件属性信息&#xff0c;但是没有文件名每次访问某个目录的文件时是会进行缓存的&#xff0c;在一定…

今天升级win10.vs调试程序各种崩溃

今天升级win10.vs调试程序各种崩溃。感觉代码没问题。崩溃时有时没有。不知道是win10的问题&#xff0c;好真是我的代码问题。 问题1&#xff1a; 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 不过。当我写这个文章时。想要重现一下。却又不出现了。 转载于:https:/…

计算机控制分离性原理是什么,(第12讲)状态观测器和分离原理.ppt

《(第12讲)状态观测器和分离原理.ppt》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《(第12讲)状态观测器和分离原理.ppt(26页珍藏版)》请在人人文库网上搜索。1、现代控制理论,(第10讲 2007年12月) 状态观测器 带观测器的闭环系统 分离原理 自动化教研室 谭功全,状态…

Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画

Cocos2d-x 3.8.1Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画引子这段时间一直努力在把早期版本的拇指接龙游戏&#xff08;Cocos2d-x 2.2.3CocoStudio 1.4.0.1&#xff09;升级到当前相对稳定的高大上环境——Cocos2d-x 3.8.1Cocos Studio 2.3.2。行程中遇到不少麻烦&…