代码编织梦想

iOS 边学边记 Weak的实现(二)-爱代码爱编程

正文 接 Weak的实现(一) 2 生成新的weak_entry_t插入到weak_entries中 /** * Registers a new (object, weak pointer) pair. Creates a new weak * object entry if it does not exist. * * @param we

开发也可以改变下,RxSwift-让你的开发变得简洁高效。-爱代码爱编程

RxSwift到底是什么? RxSwift是一种函数式响应式编程。那什么是函数式编程呢,函数式编程最重要的概念就是“无状态(immutable)”,看到这有些小伙伴可能会很开心,无状态(知名LOL职业选手)嘛,我是他的粉丝!言归正传,到底什么是“无状态(immutable)”呢?我看了很多文章,但是都被他们专业的描述整的一头雾水,我来说说我的看法:有丰富

iOS 边学边记 Weak的实现(一)-爱代码爱编程

本文较长分三篇按序阅读体验更佳,第四篇为辅助阅读按需看 1.Weak的实现(一) 2.Weak的实现(二) 3.Weak的实现(三) 4.Weak的实现-&SideTables()[oldObj] 带着问题看源码: 1.大家都知道weak的底层实现是一个散列表,那么散列表的结构是什么样的? 2.散列表的key是什么,value是什么,散列函数是怎

iOS核心动画:图层的树状结构-爱代码爱编程

这篇文章主要为大家详细介绍了iOSiOS核心动画:图层的树状结构,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Layer Kit这么一个不怎么和动画有关的名字演变而来,所以做动画这只是Core Animation特性的冰山一角。

新mac安装CocoaPods完整流程-爱代码爱编程

背景 新入职公司,分配一台全新MacBook pro,借此机会梳理一下cocoapods的完整安装流程。 cocoapods安装依赖关系 cocoapods安装需要ruby,更新ruby需要rvm,下载rvm需要gpg,下载gpg需要homebrew,所以安装顺序是homebrew->gpg->rvm->ruby-cocoapods

常见多线程实现,iOS开发程序猿进阶-爱代码爱编程

一 常见多线程实现 (一)pthread (1)特点 1)一套通用的多线程API2)适用于Unix/Linux/Windows等系统3)跨平台可移植4)使用难度大(2)使用语言 C语言 (3)使用频率 几乎不用 (4)线程生命周期 由程序员进行管理 (5)概念、属性与方法 略 (二)NSThread (1)特点 1)使用更加面向对

学习编程需要什么基础?从基础到高级?-爱代码爱编程

程序员薪酬高、工作环境好,是很多同学向往的职业,让很多非计算机专业的同学羡慕不已。非计算机专业难道就不能成为程序员了吗? 一、学编程需要什么基础? 1、数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,初学者有高中水平就差不多了。

iOS 音视频开发,AVAudioRecorder实现录音功能!!-爱代码爱编程

AVAudioRecorder、AVAudioPlayer 属于AVFoundation框架,使用时需要先导入**<AVFoundation/AVFoundation.h>**框架头文件。 AVFoundation 是苹果的现代媒体框架,它包含了一些不同用途的 API 和不同层级的抽象。其中有一些是Objective-C

iOS中的OC和Swift进行互相调用-爱代码爱编程

有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用。 swift调用oc的方法: 1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2、将需要引用的oc文件 .h头文件 添加到桥接类中。 如下: 然后在swift调用处,直接就可以使用了。 oc调用swift的方法: 1、首

iOS面试题-Swift篇(二)-爱代码爱编程

swift 中的闭包结构是什么样子的 { (参数列表) -> 返回值类型 in 函数体代码 } 什么是尾随闭包 将一个很长的闭包表达式作为函数的最后一个实参 使用尾随闭包可以增强函数的可读性 尾随闭包是一个被书写在函数调用括号外面(后面)的闭包表达式 // fn 就是一个尾随闭包参数 func exec(v1: Int,

MacOS:多架构产物如何融合?-爱代码爱编程

本机系统架构:x86_64 太长不读总结:通常会默认以本机系统架构进行融合,如果编译器或链接器无法分析出需要融合的架构,需要指定 -target / -arch 来辅助。 1、多架构编译 编译多架构gcc -target x86_64-apple-macos10.15 -c add.c -o x86 gcc -target arm64-apple-

appcode打开workspace无法找到xcodeproj项目文件问题的解决方法-爱代码爱编程

因为公司的项目改过项目名字,在xcode下编译正常,但是用appcode打开,xcode项目的workspace的时候,提示找不到xcodeproj项目文件 问了推荐给我使用的明哥,他也没遇到过。因为项目名字xcodeproj是我改的,为了区分2个app appcode无法找到xcodeproj的解决方法 错误重现解决方法: 错误重现 现在这

Swift中如何安全的创建一个单例-爱代码爱编程

Talk is cheap. Show me the code. class TestShareInstance{     var age:Int     static let shareInstane:TestShareInstance = TestShareInstance(age: 3);     private init(age:Int)

使用LiDAR功能的AR开源项目集下载-爱代码爱编程

XR沉浸新媒体体验 带有LiDAR传感器的iPad Pro深度相机带来沉浸式体验 项目工程代码: https://github.com/keijiro/Rcam2 AR世界三维重建可视化 iPad Pro上的ARKit 4+LiDAR实时世界三维重建,并通过Metal可视化 项目工程代码: https://github.com

iOS 文本点击事件-爱代码爱编程

项目中总会遇到给文本添加点击事件的问题,这里我使用的是textView控件. @property (strong, nonatomic) IBOutlet UITextView *textView; - (void)initTextView { NSMutableAttributedString *attributedString = [[NS

重提大一统?微软被曝开发原生运行安卓 App 的 Win10 系统,最早明年见-爱代码爱编程

转自:机器之心 据消息人士透露,微软正在着手一个代号为「拿铁」的项目。如果一切顺利,开发者有望在不更改代码或更改少量代码的情况下将安卓 app 引入 Win10。 近日,外媒 Windows Central 报道称,据消息人士透露,微软正在开发原生支持安卓应用的系统,有望允许开发者将安卓 app 打包成 MSIX 提交

微信可以设置雪花昵称和彩色昵称了,真漂亮!-爱代码爱编程

点击“开发者技术前线”,选择“星标????” 让一部分开发者看到未来 今天给大家分享个超级好玩的微信小技巧,真可谓是装逼必备神器! 众所周知,在微信中,每个人的昵称都是黑色字体显示的,无论是字母还是文字,都被统一了颜色,有些小伙伴就觉得很没个性了。 今天给大家带来一个雪花昵称。 这种利用特殊符号,来实现花样昵称的效果已经和大家分享过很多

iPhone 12不标配充电器后,国产手机配件成了国外抢手货!-爱代码爱编程

今年,苹果iPhone 12系列就没有再标配充电头和耳机等配件,苹果官方称为了环保,大多网友都表示不满。但苹果并没有因为网友的不满而改变理念,在近日推出的AirPods Max中,同样也未配备充电头。 因为苹果表示,不再随附充电头和有线耳机这些配件就会使的包装变小,因此,每次可以运送的产品数量就会增多,这样整体的运货次数就会减少,对于各方面

微信终于可以发送大文件了!-爱代码爱编程

点击上方“逆锋起笔”,公众号回复 pdf 领取大佬们推荐的学习资料 本文转自:扩展迷EXTFANS 微信作为一款国民级的通讯软件,虽然用户基数庞大,但在用户体验方面一直饱受诟病,尤其是在部分功能方面,迟迟无法满足用户的需求。 最近,微信连续上了一波增量更新,神不知鬼不觉地升级了一些或实用或鸡肋的功能。 前几天,微信才更新了6个小表情:裂开、

用重构指导Clean Code(二):依恋情结和switch语句-爱代码爱编程

书接上回,我们继续聊如何用重构指导Clean Code。 在Clean Code的3.4节中有这样一段代码(代码清单3-4)。(第3章主要讲的是函数,而3.4节讨论的是switch语句。) public Money calculatePay(Employee e) throws InvalidEmployeeType {  switch (e.t