首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
swift
订阅
helloworld在掘金38972
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
十几个小知识点,让你理解OC到Swift的都有哪些转变
@selector 是 Objective-C 时代的一个关键字,它可以将一个方法转换并赋值给一个 SEL 类型,它的表现很类似一个动态的函数指针。在 Objective-C 时 selector 非常常用,从设定target-action,到自举询问是否响应某个方法,再到指定…
漫画:什么是动态规划?
有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。 再比如,每次走2级台阶,一共走5步,这是另一种走法。我…
iOS探索 runtime面试题分析
里面虽然可以添加属性变量,但是这些properties并不会自动生成Ivar,也就是不会有 @synthesize的作用,dyld加载期间,这些分类会被加载并patch到相应的类中。这是一个动态过程,Ivar不能动态添加 然而程序还是无情的崩了... 其实在iOS中NSNumb…
iOS探索 多线程之GCD应用
此时GCD就提供了两个API——dispatch_barrier_sync和dispatch_barrier_async,使用这两个API就能将多个任务进行分组——等栅栏前追加到队列中的任务执行完毕后,再将栅栏后的任务追加到队列中。简而言之,就是先执行栅栏前任务,再执行栅栏任务…
iOS程序员的自我修养-前言(零)
我们iOS开发者,大部分都是做业务上的开发。平时可能接触到编译链接方面的知识很少,但是我觉得编译链接对一个普通程序员来说,也非常重要。 比如平时用Xcode build过程有什么错误,我们可以选择站在原理层面去分析哪里出现问题了,而不是靠不停debug来解决;再比如fishho…
Swift5.0 的 Runtime 机制浅析
Objective-C语言是一门以C语言为基础的面向对象编程语言,其提供的运行时(Runtime)机制使得它也可以被认为是一种动态语言。运行时的特征之一就是对象方法的调用是在程序运行时才被确定和执行的。系统提供的开放接口使得我们可以在程序运行的时候执行方法替换以便实现一些诸如系…
iOS底层学习 - 多线程之中的锁🔐
锁 -- 是保证线程安全常见的同步工具。锁是一种非强制的机制,每一个线程在访问数据或者资源前,要先获取(Acquire) 锁,并在访问结束之后释放(Release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用。 前面说到了,锁是用来保护线程安全的工具。 可以…
Swift中的逃逸闭包(@escaping )与非逃逸闭包(@noescaping)
概念:一个接受闭包作为参数的函数,该闭包可能在函数返回后才被调用,也就是说这个闭包逃离了函数的作用域,这种闭包称为逃逸闭包。当你声明一个接受闭包作为形式参数的函数时,你可以在形式参数前写@escaping来明确闭包是允许逃逸。 例如:当网络请求结束后调用的闭包。发起请求后过了一…
《iOS面试之道》算法基础学习(上)
道长和唐巧的面试之道,刚出来第一时间就入手了,也是趁着公司目前不是很忙,能好好静下心来细读这本书.笔者认为这本书的最大亮点就在第二章的算法基础,所以想通过笔记的形式来记录算法的学习过程,同时在忘记的时候也能第一时间翻阅查看. 这部分代码都是通过Swift来讲解的,所以对于想学习…
iOS -- 经典面试题
1. Runtime 是什么? Runtime是一套有C、C++和汇编混合编写的API,为OC加入了面向对象以及运行时的功能。 运行时是指将数据类型的确定有编译时,推迟到了运行时。 比如:在编译时,只读取macho中的数据到ro,而真正方法的读取是在rw中体现的,编译好的ro是…