1 class成员构造函数生成
Swift 可以为 struct 合成成员构造函数,但不能为 class 合成。Xcode 可以帮助生成代码,先选中类名,然后选择菜单 Editor —> Refactor —> Generate Memberwise Initializer。
2 设置App的“外观”
运行 App 到模拟器以后可以找到环境面板,点开它可以设置 Dynamic Type size, 暗黑模式等以查看 App 的变化。
3 选中代码块
选择某个代码块的左侧括号{,然后双...
iOS14开发-入门知识
iOS开发介绍
iOS 是由苹果公司开发的移动操作系统 。苹果公司最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统(最初叫 iPhone runs OS X)。该系统最初是设计给 iPhone 使用的(所以后来曾命名为 iPhone OS),之后陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上(所以在 WWDC 2010 上最终宣布更名为 iOS)。
iOS发展历史
2007-2020 每年发布一个新版本,最新版本 iOS 14。
Ap...
扒代码才知道,原来 iOS 14 偷偷更新了这个重要新功能
虽然 Apple 并没有在 WWDC 上提到 iOS 14 支持更换默认应用,但还是有不少细心的人在官网上扒出了相关介绍。一时间,许多早就想换掉 Safari 的人都期待着自己常用的浏览器能尽快支持此功能。
现在,已经有不少浏览器、邮箱 app 适配了这一功能,它们的实际体验又如何呢?不妨跟着这篇文章一起看看吧。
替换默认浏览器
如果你想替换掉默认的 Safari 浏览器,首先得下载一个支持替换为默认浏...
YsyPopHelper 简单易用的iOS弹窗开发助手
在App项目开发过程中,总会对弹窗有各式各样的需求,有顶部的弹窗,顶部的弹窗,中间的弹窗等等各式各样,五花八门。弹窗的开发,一般包括有弹出动画,退出动画,半透明蒙板,弹窗本身的UI和逻辑等,如果每个弹窗都要走一遍这个流程,无意是一件低效且无聊的事情。那么有没有一种解决方案,可以让我们只需要编码弹窗本身的UI和逻辑呢?这就是笔者开源YsyPopHelper这个简单易用的iOS弹窗开发助手的目的。
...
CocoaPods对三方库的管理探究
CocoaPods是iOS开发中经常被用到的第三方库管理工具,我们有必要深入了解一下它对项目产生了什么影响,以及它是如何工作的。
使用pod安装三方库
我们新建一个不带测试模块的名为FFDemo的Swift项目,它的目录结构是这样的
├── FFDemo
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── Base.lproj
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── FF...
iOS 加签前对嵌套多层字典数组排序组装
+(void)enumerateKeysAndObjectsUsingBlock:(NSDictionary*)dic block:(void (^)(id key, id obj))block{
NSArray *allKey = [[dic allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2 options:NSLiteralSearch];
}];
for (int i=0;i<allKey.count;i++) {
id obj = dic[allKey[i]];
id key = allKey[i];
...
iOS 14系统的资源库可以关闭吗?
iOS 14系统新增了一项资源库功能,当用户安装新的APP时会同步添加至APP资源库中,针对这个功能体验,很多用户的评价褒贬不一,但无论你是喜欢还是不喜欢,苹果并不打算将选择权交给你。
简单来说,资源库主要作用系帮助用户将最常用的APP进行重新排序,看起来是一个不错的功能,但很遗憾,用户并不能自己选择归类(否则跟新建一个文件夹保存APP有何区别),且资源库排在屏幕的的最后一页,对于APP...
OC-底层原理09—消息转发流程
铺垫
通过前面分析lookUpImpOrForward,既然是寻找或者转发,那在没寻找到的情况下,它是怎么转发的呢?入口又是在哪?
通过instrumentObjcMessageSends分析方法调用顺序
换一个思路,既然动态决议后,如果没有对Imp进行操作,就会崩溃,那可以通过该方法检测奔溃时方法的调用情况。lookUpImpOrForward -> log_and_fill_cache -> logMessageSend,objcMsgLogEnabled =YES是进入这个流程的关键...
手机变成“窃听器”… 苹果iOS14升级,要动这块蛋糕
我们都是大数据时代的透明人...
曾几何时,当你用谷歌搜索关键词“咖啡”,接下来,你发现在Facebook、Instagram... 等社交媒体上,你开始频繁刷到有关咖啡的广告。
你感叹,大数据知道你在看什么、你想要什么,精准营销真厉害。
后来,你发现,自己跟朋友聊天中提到最近想学习“冥想”,Instagram开始贴心的推荐“冥想”类App的广告,你开始觉得不妙,你开始怀疑...
他们不止在追...
iOS/iPadOS 14 正式版来了!值不值得升级看这一篇就够了
经过了三个月的测试,iOS/iPadOS 14 正式版终于在 9 月 17 日到来,以下兼容的设备均可更新至最新的 iOS / iPadOS 14,由于是大版本更新,所以建议在更新前先对数据进行备份。
丨iPhone:iPhone 11 系列 / iPhone XS 系列/ iPhone X / iPhone 8 系列/ iPhone 7 系列/ iPhone 6s 系列/ iPhone SE(1、2 代)/ iPod touch(第七代)
丨iPad:iPad Pro 系列 / iPad Air (第 2、3 代)/ iPad(第 5、6...