首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 面试题基础
订阅
胡祥清
更多收藏集
微信扫码分享
微信
新浪微博
QQ
26篇文章 · 0订阅
Objective-C to Swift(SDK引入Swift混编记录)
随着Swift版本更新到5,API也越来越稳定了,所以最近笔者就把自己长期维护的OC库,开始引入Swift混编,这篇文章就是记录引入Swift的过程和遇到的问题。 并且把项目的Podfile加上use_modular_headers!,或者把依赖的OC库挨个加上:modular…
关于iOS Responder Chain 的一些理解
响应者:它是 UIResponder/UIView/UIViewController/UIApplication 的实例。它会接受事件,并且它必须处理事件或将事件传递给下一个响应者。UIKit 会自动决定哪个对象为最合适的响应者,即第一响应者。 响应链:响应者传递事件的过程。 …
分析Category、load、initialize的加载原理
3.load、initialize有什么区别,以及它们在category重写时的调用顺序。 要回答这些问题,我们需要去查看runtime里的类的初始化方法,打开runtime源码,找到_objc_init,这就是runtime初始化的地方。 1.点击进去map_images我们…
一篇很全面的IOS面试题(上)
目录一、基础知识点设计模式是什么?你知道哪些设计模式,并简要叙述?MVC和MVVM的区别#import跟#include有什么区别,@class呢,#import<>跟#import””有什么区别?f
打造完备的iOS组件化方案:如何面向接口进行模块解耦?
关于组件化的探讨已经有不少了,在之前的文章iOS VIPER架构实践(三):面向接口的路由设计中,综合比较了各种方案后,我倾向于使用面向接口的方式进行组件化。 这是一篇从代码层面讲解模块解耦的文章,会全方位地展示如何实践面向接口的思想,尽量全面地探讨在模块管理和解耦的过程中,需…
Swift5.0 的 Runtime 机制浅析
Objective-C语言是一门以C语言为基础的面向对象编程语言,其提供的运行时(Runtime)机制使得它也可以被认为是一种动态语言。运行时的特征之一就是对象方法的调用是在程序运行时才被确定和执行的。系统提供的开放接口使得我们可以在程序运行的时候执行方法替换以便实现一些诸如系…
iOS 开发:『Runtime』详解(一)基础知识
1. 什么是 Runtime? 我们都知道,将源代码转换为可执行的程序,通常要经过三个步骤:编译、链接、运行。不同的编译语言,在这三个步骤中所进行的操作又有些不同。 C 语言 作为一门静态类语言,在编译阶段就已经确定了所有变量的数据类型,同时也确定好了要调用的函数,以及函数的实…
Swift之继承
上面的实例方法、下标。如果是类型方法、下标的话,有些许不同, 如上面的代码所示static修饰的时候,子类重写,直接报错Cannot override static method。而class修饰时候,编译正常 更多资料,欢迎关注个人公众号,不定时分享各种技术文章。
swift中Class和Struct的区别
类(class)和结构体(struct),不止在iOS开发中,在其他各种语言开发中都属于老生常谈的问题了,在看class和struct之前,我们先看一下引用类型和结构体的概念。 引用类型:将一个对象赋值给另一个对象时,系统不会对此对象进行拷贝,而会将指向这个对象的指针赋值给另一…
iOS 开发:『Blocks』详尽总结 (二)底层原理
本文用来介绍 iOS 开发中 『Blocks』的底层原理。我将通过 Blocks 由 OC 转变的 C++ 源码来一步步解析 Blocks 的底层原理。