MVC
MVC:Model-View-Controller(模型-视图-控制器),是 iOS 开发中频繁使用的一种设计模式。
Model 负责维护和处理数据,如网络连接,数据计算与存储等。除了 View 和 Controller 以外的所有内容都应该包含在 Model 中。(处理和保存数据)View 负责绘制界面,例如 UIButton、UIImageView、UITableView 等。View 应该尽可能地不含业务逻辑。(绘图视图)Controller 具有对 Model 和 View 的引用...
iOS14开发-UIViewController
介绍
UIViewController 可以理解为 App 的界面,负责管理 UIView 中显示的内容和用户的交互,主要有以下作用:
负责创建和管理 UIView。响应用户与视图的交互。负责界面的切换与传值。响应设备的方向变化。有一些特殊的视图控制器(导航控制器、标签栏控制器)可以更加方便和规范地管理 UIView。
创建
storyboard
初始化箭头指向的 UIViewController。
let vc = UIStoryboard(name: "st...
iOS代码混淆
前言
今天主要想说的是iOS的代码混淆,为什么想做代码混淆?为了APP的安全,为了防止别人破壳轻易破解我们代码;还有就是做马甲包了,我们知道马甲包的市场需求很大,但是不能花费过多的精力在开发上,毕竟只是个马甲,没必要花费太多的成本!
混淆工具
网上搜了一下,开源免费的混淆都在转载念茜大姐大的sh脚本的混淆方法,或者在念茜的脚本基础上二次开发,大家去看过就知道念茜的这篇博客是在...
iOS14开发-UIView
介绍
UIView 会占用屏幕上一个矩形的空间。主要处理两件事:画出矩形控件,并处理其中的事件。UIView 是层级结构,UIView 只有一个父 View,但可以有多个子 View。子 View 的顺序和子 View 返回的数组中的位置有关(storyboard 中左侧的树形结构图中的先后顺序)。UIView 可以直接在 storyboard 里面拖拽使用,也可以使用纯代码方式使用。
UILabel、UITextField、UIButton
UILabel
显示静态文...
Swift与JS通过WKWebView互调
创建WKWebView
lazy var webView: WKWebView = {
// 创建WKPreferences
let preferences = WKPreferences()
// 开启js
preferences.javaScriptEnabled = true
// 创建WKWebViewConfiguration
let configuration = WKWebViewConfiguration()
// 设置WKWebViewConfiguration的WKPreferences
configuration.preferences = preferences
// 创建WKUserContentControlle...
Xcode 12 使用技巧
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...