前言代码规范可以说是老生常谈的话题了,也是程序员自我修养的一种体现,虽然一套好的代码规范不能使程序运行的更加流畅,不能使程序直接的影响到程序的功能执行,但是如果能再发开之前就能明确定义一套代码规范,并且严格的去执行,肯定能非常有效的提高代码阅读性,高的阅读性也使得后期开发,维护等事半功倍,上手难度降低,在新人加入进行也能更快的融入团队。下面我分别按几个要素概括列举一下自己团队制定的一套代码规范,提
前面两篇文章:iOS端屏幕录制(replaykit)调研iOS端屏幕录制Replaykit项目实践已经对iOS端实现屏幕录制的调研结果和简单实践进行了概述,本篇开始将分别将iOS10、iOS11、iOS12系统上具体实践记录一下,便于分享和自己查看。相比于安卓端,iOS端的屏幕录制发展太慢了,并且对开发者的需求满足总是延迟很大,就像其他功能一样,这也许就是苹果逐渐丧失他的竞争力的原因。本文将对iO
一、前言一个比较成熟的App,经历了多个版本的迭代之后,为了方便调式和测试,往往会积累一些工具来应付这些场景。最近我们组就开源了一款适用于iOSApp线下开发、测试、验收阶段,内置在App中的工具集合。使用DoraemonKit,你无需连接电脑,就可以对于App的信息进行快速的查看。一键接入、使用方便,提高开发、测试、视觉同学的工作效率,提高我们App上线的完整度和稳定性。目前DoraemonKi
对于使用Objective-C开发iOS的程序员来说,对象是否为nil在编写程序的过程中程序员不太关心,直接使用就可以,在一些需要判断的地方在判断,当转为Swift开发时,首先头疼的问题就是可选类型,到底何时使用?,何时使用!总是拿不太准,下面就详细的讲解一下一、什么是可选类型可选类型伴随着Swift诞生,在原有的Objective-C语言中不存在,究其原因,是因为Swift是类型安全的语言,而O
今年9月中下旬因为个人原因,换了一份工作,期间面试了有4,5家,基本都是D轮或者上市公司,也从他们的面试笔试中看到了自己的一些不足,于是就想写出来和大家分享一下,如果能帮到正在面试的同学更好。从面试题中,其实可以看到一些行业的发展,以及总体人才需求是怎样的了。作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:656315826,不管你是小白还是大牛欢迎入驻,分享BA
前言Xcode10已经正式发布,开发者可以接入SiriShortcuts的iOS12新特性。WWDC2018的IntroductiontoSiriShortcutsSession介绍了SiriShortcuts的使用和Swift接入,但没有Objective-C版本的demo。于是新开此文,介绍如何快速用OC接入iOS12新特性SiriShortcuts。正文快速接入SiriShortcutsSi
iOS精选源码iOS快速入手语音识别、听写、评测、播报网络加载数据的过渡动画(仿JEESNS网页)iOS封装跑马灯和轮播效果crash防护组件,适用常见常用的数组,字典等crash保护iOS:高仿闲鱼、京东等列表底部分页视图React-Native完整项目,同时支持IOS和安卓功能丰富的WKWebView简单音乐功能实现下拉框,可自动识别向上向下展开iOS优质博客iOS关于时间的处理做App避免不
@interfaceMyViewController:UIViewControlle{UIButton*yourButton;intcount;iddata;}@property(nonatomic,strong)UIButton*myButton;@end1.成员变量成员变量是定义在{}号中的变量。(yourButton、count、data都是成员变量)成员变量用于类内部,无需与外界接触的变量
思路iPhoneX系列都是刘海屏,状态栏高度都是44,不管是普通状态下还是特殊状态下(通话中或热点被接入)。其余机型的状态栏高度在常规状态下是20,特殊状态下(通话中或热点被接入)是40。因此“状态栏高度==44”可以作为切入点,判断是否是iPhoneX系列机型的宏如下:#defineiPhoneXSeries(([[UIApplicationsharedApplication]statusBar
题记:最近在复习C语言相关的基础知识,本着熟悉代码再敲一遍的思路,这次全程用vim编写、终端运行代码,自然就用到了终端命令行,有那么一二常用命令行有些许遗忘。顾,有此笔记。(就当是很久没写了,水一篇。免得某人取关了我。各位且看且吐槽。)查看某文件夹下的内容命令//命令如下://查看文件和文件夹ls//查看非隐藏及隐藏的文件和文件夹ls-a创建某文件夹命令//命令如下://举例:创建一个`day03
1、MMKV简介腾讯微信团队于2018年9月底宣布开源MMKV,这是基于mmap内存映射的key-value组件,底层序列化/反序列化使用protobuf实现,主打高性能和稳定性。近期也已移植到Android平台,一并对外开源。MMKV是基于mmap内存映射的key-value组件,底层序列化/反序列化使用protobuf实现,性能高,稳定性强。从2015年中至今,在iOS微信上使用已有近3年,其
背景  这是个常见场景:textField或者包含textField的控件需要在键盘弹出的时候随之上移,不然就会被键盘遮挡。  既然是常见的,为了提高开发效率,也为了遵循DRY原则,我们就有必要实现一个公共控件。实现这个功能并不复杂,更有意义的是在这个实现过程中的一些总结和思考。下面首先讲一下实现过程,之后再附上总结。实现  在键盘弹出和收起的时候,会收到两个全局的系统通知:UIKeyboardW
背景在开发过程中,经常需要获取当前window,rootViewController,以及当前ViewController的需求.如果.m实现不是在当前视图情况下,我们需要快速的获取到当前控制器,这种情况就需要先做好一层封装,我一般是通过UIViewController写的一个Category来实现,实现起来也非常简单,只需要我们对控制器几个方法掌握便可。获取根控制器+(UIViewControl
背景在开发过程中,经常需要获取当前window,rootViewController,以及当前ViewController的需求.如果.m实现不是在当前视图情况下,我们需要快速的获取到当前控制器,这种情况就需要先做好一层封装,我一般是通过UIViewController写的一个Category来实现,实现起来也非常简单,只需要我们对控制器几个方法掌握便可。获取根控制器+(UIViewControl
前言近期在开发新项目,然后针对AppIcon与AppLaunchScreen都需要重新切一套,需要把相应尺寸大小跟UI说明一下,加上最近刚发布的我iPhoneXSXRXSMax都需要进行统一适配,同时为了让自己以及UI同事能更好的去了解iPhone不同尺寸特意整理了一下。AppLaunchScreen(启动图)下面分别罗列出当前所有iPhone不同机型尺寸所需LaunchScreenSize,其中
效果走起!链接:https://github.com/xiaojin1123/AnimationDemo.git第一步还是先添加layer到红色的View上面,然后初始化设置第二和第四的Layer动画,目的是为了让它们的高度减少到原来的0.35。-(void)viewWillLayoutSubviews{self.jumpingView=[[UIViewalloc]initWithFrame:CG
今天给大家带来的是关于Animation中一些动画效果,先上图吧!使用多张图片,设置图片位置并对每一张图片添加不同的动画效果,进而实现demo中的效果。一、分析(以第一个动画为例):项目中每一个小动画都是由三张图片组成的(除第三个动画以外);分为左上角是一张星星的图片,中间是一个标签图片,偏右下角的是另一张星星的图片。以下是添加图片的代码:CGRectframe=self.firstView.bo
首先,先上图,让大家看看效果相信大家对于TableViewd数据的设置都熟悉,这方面就不多说的,重点的还是来看:1.如何实现cell的展开和收起的效果-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath{[self.tableViewdeselectRowAtIndexPath
首先看一下效果Demo中使用了几个三方注:查看大图片的这个工具有点坑,不知道是我不会使用还是原本就有bug,坑在下面的这个地方,如果不修改的话,会导致下拉刷新的操作被屏蔽,因为offset距离顶部为0了,刚好被屏蔽了。言归正传说Democell主要由三部分组成:第一部分是用户基本信息和文字评论区域,第二部分是图片显示部分,独立出去的一个XBWCSMyOrderEvaluationImageView
级别:★★☆☆☆标签:「objc_msgSend」「尾调用优化」「尾递归」作者:WYW、MrLiuQ审校:QiShare团队这篇文章的出现起因于Q·iShare团队对iOS编写高质量Objective-C代码(二)中(六、理解objc_msgSend(对象的消息传递机制))的激烈讨论。注:Q·iShare是我们的团队名称,QiShare是我们的分享品牌。这篇文章将认真彻底地分析OC对objc_ms