本期技术周刊一起探究关于 iOS 的特性,欢迎大家阅读 ~
文章推荐
探究 iOS 内存问题 // 杭城小刘
本文从 Tagged Pointer、objc 源码、dealloc 原理、AutoreleasePool 原理、野指针探究等技术点展开聊了聊 iOS 内存相关问题。
一行代码解决 Scrollview 和 TextInput 焦点获取问题 // 似水流年
通过日志以及逻辑分析发现两个问题:
- 第一次点击列表项无法触发onPress点击事件
- 第一次点击其实是使输入框失去焦点并隐藏键盘
知道问题在哪就有解决问题的方向了:点击列表项使输入框自动失去焦点,并触发onPress点击事件。
【 iOS 】UITextField 输入长度限制时,中文输入法导致的输入问题 // Lynx
当我们有 UITextField 或者 UITextView 最大输入长度需求的时候,会面临一个问题,那就是如果我们使用系统输入法或者其他输入法的时候,在输入最后几个文字的时候,由于部分输入法会将拼音字母等高亮字符展示在输入框内,这时候输入长度就可能超过最大长度,从而导致最后几个文字输入失败,尽管这时候文字还没到最大输入长度。
技术总监:尽快解决这个 ios11 白屏问题 // 牛仔很busy
1 why:为什么会白屏呢?
首先,只有 ios11 才会出现,说明不是没有返回 html,从现象来看可以证实,页面上显示了标题,只是没有内容。通过抓包发现,确实有返回html。基本可以肯定,问题出现在浏览器这一层,也就是上图的红色部分。
2 why:为什么没有内容?
抓包发现有返回 html,也返回了入口 js,也就是 app.xxx.js 和 chunk-vendors.xxx.js。有 js,但没内容,那有两种可能:
- 入口js没有执行
- 入口js执行报错了,导致后面渲染页面的代码没有执行
一次 IOS 通知推送问题排查全过程 // 扣钉日记
发现问题:在上周一个将要下班的夜晚,测试突然和我打招呼,说IOS推送的修复更新上线后存在问题,后台报错。连忙跑到测试那里看报错详情,报错如下:
iOS 之 Swift
Swift 编译器之迷惑行为一 // rickytan
OptionSet 是 Swift 中比较常用的一个内置协议,它的存在算是填补了既要强类型,又要支持按位取与的空白,是对 OC 中 NS_OPTIONS 的桥接。从声明上可以看到,OptionSet 协议本身又服从 SetAlgebra 协议,后者只定义了常见的集合操作方法,如 union remove insert 等,而前者在 extension 中给了默认实现
Swift Talk:理解值类型 // Sunxb
我们使用写时复制 copy on write 的思想,对 NSMutableData 进行封装,以此来理解我们的标准库的实现方式。
标准库中提供的所有的基本集合类型都是值类型,通过写时复制的思想保证了他的高效性。集合类型是我们比较常用到的数据类型,所以了解他的性能特性很重要,我们来一起看一下写时复制是如何工作的,并且尝试自己手动实现一个。
问答推荐
- 如何在 window 上 在 ios 环境下调试项目?
- ios 与 android 在 标准上 js 在语法支持上有什么差异吗?
- IOS app webview 里面怎么监听跨域 iframe 里面 video 的播放事件?
- 在 iOS 上有没有语音实时翻译成文本的 SDK ?
- ios h5 高度没铺满,这是咋回事啊 ?
- Swift FileManager 怎么申请文件权限?
- 关于 ios 15.4 后复制验证码的问题?
# SegmentFault 技术周刊 #
「技术周刊」是社区特别推出的技术内容系列,一周一主题。
每周二更新,欢迎「关注」。大家也可以在评论处留言自己感兴趣的主题,推荐主题相关的优秀文章。
如有问题可以添加小姐姐微信~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。