以arm64为例 xcode调试汇编 1. xcode 查看运行时的汇编代码 debug -> debug workflow -> always showdisassembl...
以arm64为例 xcode调试汇编 1. xcode 查看运行时的汇编代码 debug -> debug workflow -> always showdisassembl...
之前写过一篇文章描述了下影响页面布局的几个属性,如今iOS 11出来后变化挺大的,在这里重新梳理下。 可以看到在iOS 11中,UIViewController的automa...
协议的基础语法 定义协议是方法的列表协议只有一个.h文件@protocal 协议名称 <NSObject>//方法声明列表@end 如何遵守协议< >: 协议方法声明的关键字...
一、简介 1、所在框架 CADisplayLink和其它CoreAnimation类一样,都是在QuartzCore.framework里。 2、功能 CADisplayLi...
什么是代码Code Snippet? Xcode的代码片段(Code Snippets)就是我们敲代码时的自动提示,创建自定义的代码片段,当你重用这些代码片段时,会给你带来很...
在开发的时候,给控件和界面布局的一直使用CGRectMake,关于CGRect其他的方法比较少用,今天认真的去看了一下CGRect的其他方法,才发现还有很多方法对纯代码布局是...
一、简介 UICollectionView是iOS6之后引入的一个新的UI控件,它和UITableView有着诸多的相似之处,其中许多代理方法都十分类似。简单来说,UICol...
今天来介绍一个适合构建大型APP或比较大的模块的架构-VIPER; 为什么用VIPER? 略 什么是VIPER? 伴随着业务的增加、功能模块的增涨我们会发现,代码的结构越来越...
前几天写了一个关于调试歧义LAYOUT的办法,最近又发现了一个可能更好一点的其他办法,当确定在某个控制器(viewController)内部的约束布局有歧义时,可以用如下的方...
本节主题(简单的网络部分) 源码地址在文章末尾 达成效果效果图 注:本文API使用HaoService数据平台 前言 废话不说了,简单来说,移动网络很重要,下面让我们来实现一...
一、brew 安装脚本 (自动选择软件源) /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw...
概述 UICollectionView是从iOS6开始引入使用的,目前应用非常广泛,很牛逼!老外的博客也是这么说的(传送门) 与UITableView的初步比较 UITabl...
一、不使用SceneDelegate: ①在Objective-C项目中:移除SceneDelegate 1.先直接删除SceneDelegate.h/.m文件 2.在App...
问题分析 我看过很多文章关于在dispatch_async的block里面使用_weak self, 但是让我疑惑的是,以下代码是否需要必须使用_weak self, 因为我...
在日常iOS开发中,对CocoaPods使用最长见得形式如下: 但有时候我们想在pod install/update时做一些除了第三方库安装以外的事情,比如关闭所有targe...
Swift数组创建 Swift获取指定位置数据 Swift数组遍历 for、map、flatMap、reduce 区别map可以对数组元素做处理,返回新的数组flatMap可...
Swift集合创建 注意必须指明类型无序 Swift集合常用方法 这里的removeFirst其实没多大用处,因为set的无序性 Swift集合交集 并集 补集 差集 Swi...
1、新建一个Launch Screen文件 2、Launch Screen File选择LaunchScreen 准备启动图的切图(一张) 这张启动图上下尽量留出空白或背景来...
InjectionIII简介:无需重启,保存即可刷新界面,方便的动态调试工具。 下载地址:injectioniii[https://apps.apple.com/cn/app...