糖果派对官方网站_可以赌钱的糖果游戏_手机版
面试总结(持续更新中)

面试总结(持续更新中)

作者:网络编程    来源:未知    发布时间:2019-12-23 19:55    浏览量:

不同的窗口,使用同一个窗口过程,这应该在runtime时是多个不同的线程吧!?我有点思维混乱。这个从代码段的角度应该是相同的吧!?只是因为函数指针指向导致。但在runtime时形成不同的线程,不同的窗口应该不会互相干涉混乱。我这个理解可对?

为什么让线程函数执行5次,实际运行却不止5次

3月1日面试(知春路一小公司)由浅入深


***1.应用程序的生命周期。


有storyboard情况下:

1.main函数

2.UIApplicationMain

* 创建UIApplication对象

* 创建UIApplication的delegate对象

bb电子糖果派对,3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)

* 创建UIWindow

* 创建和设置UIWindow的rootViewController

* 显示窗口

没有storyboard情况下:

1.main函数

2.UIApplicationMain

* 创建UIApplication对象

* 创建UIApplication的delegate对象

3.delegate对象开始处理(监听)系统事件(没有storyboard)

* 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法

* 在application:didFinishLaunchingWithOptions:中创建UIWindow

* 创建和设置UIWindow的rootViewController

* 显示窗口

2.@property()各种属性

3.深拷贝与浅拷贝

浅拷贝只拷贝指针,不会产生新的对象;深拷贝是内容拷贝,产生了新的对象。

4.runloop

NSRunLoop是IOS消息机制的处理模式

>1.NSRunLoop的主要作用:控制NSRunLoop里面线程的执行和休眠,在有事情做的时候使当前NSRunLoop控制的线程工作,没有事情做让当前NSRunLoop的控制的线程休眠。

>2.NSRunLoop 就是一直在循环检测,从线程start到线程end,检测inputsource(如点击,双击等操作)异步事件,检测timesource同步事件,检测到输入源会执行处理函数,首先会产生通知,corefunction向线程添加runloop observers来监听事件,意在监听事件发生时来做处理。

>3.runloopmode是一个集合,包括监听:事件源,定时器,以及需通知的runloop observers

>1. 只有在为你的程序创建次线程的时候,才需要运行run loop。对于程序的主线程而言,run loop是关键部分。Cocoa提供了运行主线程run loop的代码同时也会自动运行run loop。IOS程序UIApplication中的run方法在程序正常启动的时候就会启动run loop。如果你使用xcode提供的模板创建的程序,那你永远不需要自己去启动run loop

>2. 在多线程中,你需要判断是否需要run loop。如果需要run loop,那么你要负责配置run loop并启动。你不需要在任何情况下都去启动run loop。比如,你使用线程去处理一个预先定义好的耗时极长的任务时,你就可以毋需启动run loop。Run loop只在你要和线程有交互时才需要

5.gcd

6.runtime runtime怎么添加属性方法

运行时机制,runtime库里面包含了跟类、成员变量、方法相关的API,比如获取类里面的所有成员变量,为类动态添加成员变量,动态改变类的方法实现,为类动态添加新的方法等 需要导入

1.runtime,运行时机制,它是一套C语言库

2.实际上我们编写的所有OC代码,最终都是转成了runtime库的东西,比如类转成了runtime库里面的结构体等数据类型,方法转成了runtime库里面的C语言函数,平时调方法都是转成了objc_msgSend函数(所以说OC有个消息发送机制)

3.因此,可以说runtime是OC的底层实现,是OC的幕后执行者

4.有了runtime库,能做什么事情呢?runtime库里面包含了跟类、成员变量、方法相关的API,比如获取类里面的所有成员变量,为类动态添加成员变量,动态改变类的方法实现,为类动态添加新的方法等

5.因此,有了runtime,想怎么改就怎么改

7.数据本地化的几种方式(NSUserDefaufts,归档反归档,数据库,writeToFile)

8.堆和栈的区别

1.堆空间的内存是动态分配的,一般存放对象,并且需要手动释放内存

2.栈空间的内存由系统自动分配,一般存放局部变量等,不需要手动管理内存

category和extension区别

 

bb电子糖果派对 1

 

试着运行好多次都大于5次函数执行输出

【逍遥游】#

    我认为问题出在 printf 函数,处理显示的函数都不能在线程里面用,包括窗口界面和控制台界面都是这样

【§Victor§】#

下一篇:没有了
友情链接: 网站地图
Copyright © 2015-2019 http://www.tk-web.com. bb电子糖果派对有限公司 版权所有