
iOS
文章平均质量分 85
jeverson.jee
若编程的尽头是C/C++,那就当个不务正业的Cpper~
展开
-
M1 Cocopods 安装
已对 m1 芯片的Mac 做过兼容,无需在去安装其他诸如。如果有科学上网工具, 可以使用。M1的mac 只需要将。来解决获取失败的问题。非M1 Mac 请参考。值得注意的是:刚使用。原创 2022-09-04 22:41:14 · 890 阅读 · 0 评论 -
2022iOS面试题集锦(iOS interview)
面试一1、#include 和 #import的区别主要知识点:递归循环引入的问题导入的文推荐格式,均可以导入 C/C++头文件,#include还能导入更多格式类似txt导入的方式:#include是将文件内容复制到指令处导入文件的查找方式:#include当前文件所处文件夹,再找不到就从当前文件夹的父文件夹查找,再不行就是往上推,再找不到就IDE设置的查找路径,再找不到就从系统环境变量配置的地址。再讲讲"" && <> 的异同。2、初始化返回值 id 和 ins原创 2022-02-27 12:17:19 · 3982 阅读 · 0 评论 -
iOS 响应者链
1.源起最近在面试,好基友池子跑过来对我说:响应者链这是个必考点,一般会这么问:响应者事件传递顺序是什么, 响应者的响应顺序是什么?池子认为事件传递的过程是自上而下的,事件响应是自下而上而上的。为此和池子争论了一番。争议点在事件传递上,就此达成一致的是响应者链的顺序是自上而下的。Jeverson认为响应者链寻找最合适的(第一响应者)响应者调用HitTest的过程–事件响应,找到第一响应者发现没有相应的处理函数,向上传递事件的过程–事件传递。 池子则认为相反。1.1RunLoop 是如何响应事件的?A原创 2022-02-25 15:26:49 · 1667 阅读 · 0 评论 -
Storyboard和xib中添加属性(圆角,前景色...) IBInspectable和IBDesignable
这里写自定义目录标题缘起IBInspectable`Objc`中优雅添加属性SwiftIB中大概是这样式的IBDesginable缘起iOS开发中,工程师会接触到大量的视图呈现代码。为了代码的可读性,iOS提供了诸如xib 和 storyboard的工具来拖拽控件,设置约束。但是如果我们需要设置一些圆角,富文本字体颜色等属性时,发现Xcode提供的属性列表是没有的。大概可以通过User Defined Runtime Attributes,这和我们所述的***IBInspectable*** 有关,但是原创 2020-10-30 16:51:12 · 368 阅读 · 0 评论 -
Swift Property 属性
iOS 开发中属性是一种常用方式,在Swift中属性到底如何声明,如何延时加载(懒加载) 如何监听属性值的变化。属性类型Swift 中主要存在两种属性类型,存储属性和计算属性,属性可以在类,结构体 ,枚举 中存在,值得注意的是存储属性只能存在于类和结构体属性与特定类型的实例相关,但是也存在类型属性(作用于属性本身)。存储属性存在于类或结构体的常量(let)和变量(var)。延时加载为节约空间和时间成本,我们应该避免过度初始化某些属性。lazy 对属性就行修饰。注意:必须将延迟属性声明称变原创 2020-08-07 14:39:16 · 302 阅读 · 0 评论 -
iOS13 (Xcode11)一些新特性
SeceneDelegateSceneDelegate!!!除了多了个SceneDelegate文件,查看Info.plist 发现多了个有关Application Scene Mainfest配置属性。代码变化- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for custom原创 2020-07-08 10:49:45 · 383 阅读 · 0 评论 -
iOS 单例(singleton,GCD,@synchronize)
早期技术文章搬家,原文链接iOS中单例模式的两种创建方法:GCD 和 @synchronize###1.GCD的方法1.重写allocWithZone:方法(注意不是重写alloc方法,重写了alloc 还是会执行allocWithZone:)2.为需要创建単例的类创建一个获取単例的类方法3.最后不要忘记重写copyWithZone:4. 没必要写,这边只是为了快速敲出copyWithZone:方法@interface JYPerson () //<NSCopying>原创 2020-06-16 15:26:39 · 1084 阅读 · 1 评论 -
iOS 多线程 必谈之GCD
早期文章搬家, 原文链接GCD (Grand Gentral Dispatch):存在于libdispatch 中,是一套基于C的API,函数功能灰常强大一、dispatch queue首先引入两个概念:1.任务:执行的操作2.队列:存放任务的队列的类型:1.并发队列自己创建:dispatch_queue_create()全局并发队列:dispatch_get_global_queue()// 创建并发队列dispatch_queue_t queue1 =原创 2020-06-16 15:23:54 · 391 阅读 · 0 评论 -
iOS RunLoop 理解
早期技术文章搬家, 原文链接RunLoop 应用:NSTimer、 PerformSelector、常驻线程iOS 中有两套API访问 Foundation(NSRunLoop), CoreFoundation CFRunLoopRef一、RunLoop 引入在程序的启动入口Main 函数中,UIApplicationMain 函数内部就启动了一个与**主线程**相关联的RunLoopint main(int argc, char * argv[]) { @autorelease原创 2020-06-16 15:19:30 · 232 阅读 · 0 评论 -
iOS UIKit Dynamics(物理碰撞,动画)
早期技术文章搬家,原文链接大部分人或许觉得动画用UIView 或是CoreAnimation的动画效果,那为何还需要UIKit 中的UIDynamic?答:UIDynamic 为使用者提供更符合现实效果的互动行为(比如:自由落体能量消耗的过程)一、需求:请实现下图所示的动画效果(物理碰撞)二、上面引入过UIDynamic 可以实现碰撞的物理效果动画,how to start ?在工程中导入UIKit,从Headers 找一些UIDynamic,发现了UIDynamicAnimator.h,原创 2020-06-16 15:16:21 · 510 阅读 · 0 评论 -
iOS Runtime 之关联对象(AssociatedObject)
这里写自定义目录标题一、已有类添加属性1.1 使用关联对象1.2 Description面试中总该会有人问到关于runtime的问题,虽已不是个纯native开发者,但还是有必要去整理一下以前的笔记,讲述一个古老的故事,故有此文。一、已有类添加属性Category在日常开发中是常规操作,关于已有类中添加属性。 @property 可能并不能为我们正常的创建 实例变量、Setter、Getter 方法。1.1 使用关联对象#import <objc/runtime.h>// 此处原创 2020-06-16 15:06:42 · 296 阅读 · 0 评论