Hello、我是一名 iOS开发者、 果粉、热爱编程、最近迷上健身、爱好旅游、交友、游戏(LOL)。 讨厌不说人话的描述,喜欢刨根问底,把事情做到极致! 对年轻人而言、没有比认认真真去“犯错”更酷更有意义的事情了! Wildly Run.
通过继 InjectionIII 让我们在编写代码的时候, 不需要经历漫长的编译等待, 然后重启来执行修改后的代码。 有效的提高调试速度!!!!
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 https://yq.aliyun.com/u/zhaoolee 专家的具体权益介绍:https://yq.
前言 代码规范可以说是老生常谈的话题了, 也是程序员自我修养的一种体现, 虽然一套好的代码规范不能使程序运行的更加流畅, 不能使程序直接的影响到程序的功能执行,但是如果能再发开之前就能明确定义一套代码规范,并且严格的去执行,肯定能非常有效的提高代码阅读性,高的阅读性也使得后期开发,维护等事半功倍,上手难度降低,在新人加入进行也能更快的融入团队。
前言 在看性能优化文章里, 看到不少提到要把相应控件设置成不透明,特别是在滚动页面上,但是没有看到深入说明为什么要这样去做, 如果控件是透明的将会带来什么影响,还有当中涉及到的知识点都没有提出来.
概念 CALayer 是数据 QuartzCore 框架里面的 、相对于 UIKit 框架 更于底层、 其主要功能是 负责显示视图和动画、CALayer和UIView 在除了能响应事件上 功能 是一致的、 不过因为其 更加底层 所以 CALayer 有一些接口、 UIView 里面没有。
## 前景 在使用 git 工作时, 难免会出现 commit 了一些不想提交的内容, 或者 commit 的时候 commit 的日志不太满意想要进行修改。
背景 导入三方资源的时候发现一个报错, 修改完 podfile 之后终端执行 $ pod install. 提示错误The 'Pods-ProjectName' target has frameworks with conflicting names: nimsdk.framework 虽然看提示很清楚知道是项目中已包含了 nimsdk, 但是一下子并没有想到到底是因为那里出了问题导致. 原因 一般是由于 podfile 新导入的库与原有项目中的 framework 有包含或者依赖关系导致。
前言 最近工作比较忙, 在放假休息的时候也是挺愿意抽时间来整理一下技术 Blog, 在能提高自己的同时能帮助到有需要的人, 这一定是非常酷的。今天正好看到又有个朋友该怎么怎么健身, 灵光一闪 想到以前自己写的一片关于健身的文章,但是一直没发表, 就整理了一下发到这里供热爱健身的朋友参考。
前言 升级成 Xcode 10 之后每次 New File 看到 .h 基本都能看到 NS_ASSUME_NONNULL_BEGIN 和 NS_ASSUME_NONNULL_END 成对出现在 @interface 与 @end 上下, 包裹住它, 这两对关键字并非新特性, 只是 Xcode 10 之后系统默认实现了, 应该是考虑到与 Swift 混编, 为了更好兼容其 optional 与 non-optional。
const 常量: 共享一块内存空间,就算项目中N处用到,也不会分配N块内存空间,可以被修改,在编译阶段会执行类型检查. 全局常量 包括在 .h .m 文件除非 ****@implementation**** 作用域内声明的, 都属于全局常量, 都可能由外部进行访问。
前言 为了使项目整体代码更加简洁,易读,多人开发时不仅能再代码规范上有一套规范,以及最常见的 ViewController 情况允许的情况下, 尽量保持一套发放调用排序, 这样我们在后期维护 Review 起来会非常轻松。
有时候直接下载其他人项目在真机上编译时, 容易遇到这个编译错误, 因为其开启了通知, 但是我们的证书又不支持这个推送证书配置, 我们到项目中找到配置文件,将其删除掉即可。
前言 近期在开发新项目, 然后针对 App Icon 与 App LaunchScreen 都需要重新切一套, 需要把相应尺寸大小跟 UI 说明一下, 加上最近刚发布的我 iPhone XS XR XS Max都需要进行统一适配,同时为了让自己以及 UI 同事能更好的去了解 iPhone 不同尺寸特意整理了一下。
背景 在开发过程中,经常需要获取当前 window, rootViewController, 以及当前 ViewController 的需求. 如果 .m 实现不是在当前视图情况下, 我们需要快速的获取到当前控制器, 这种情况就需要先做好一层封装,我一般是通过 UIViewController 写的一个 Category 来实现, 实现起来也非常简单, 只需要我们对 控制器几个方法掌握便可。
UIWindow 简介 UIWindow 是 UIView 的子类,其在 UIView 添加了一些视图层级,管理视图,转发 UIEvent 对象的属性和 Method。
使用终端提交代码 "git commit" 能正常弹出 设置的编辑器,但是直接被空消息提交上来导致无效。 git commit 使用了插件 # git-extras 简化命令 gc == git commit 解决方法: $ git config --global core.editor "subl -w -f" "subl -f" 表示设置默认启动的编辑器,-w表示等待编辑器提交之后, -f 为一个参数 让它不要 fork。
写在文前 由于最近开发中经常碰到类似日期选择器相关业务使用场景,虽然这个系统控件相对来说非常简单,有点儿类似UITableView的感觉,初始化之后设置数据源,代理,完成相应的数据源方法就可以正常展示了,而且其数据源 代理方法相对来说也很少,肯花心思去思考 记忆,很快就能掌握这个控件。
前言 优秀的开发者在看到每一个警告当做一个报错去看待、认真去对待解决!在开发中难免都会遇到很多意想不到的警告,但是希望我们每个开发者都能用看待一个问题一样去理解并解决它,只有这样我们才能得到更快的进步。
IMG_0152.PNG 最近做项目版本更新有个需求是 3DTouch解锁功能, 由此原因接触 Apple的指纹解锁功能, 基本功能原先已经实现好了,发现了一个 Bug然后来优化一下,先扯会儿等下我会附上源代码, 其实在指纹解锁功能上 Apple已经帮我们封装好了, 我们需要写的代码其实并不多。
图片发自简书App 图片发自简书App 图片发自简书App
前段时间看的本书名叫《乖,摸摸头》原著 大兵 在我心目中也算是个传奇人物了 两个月过去了 昨晚突然想起来 感觉已经潜移默化的就被大兵的故事所感染 病的不轻。