自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王颜华的博客

不善清谈,行胜于言。

  • 博客(221)
  • 资源 (1)
  • 收藏
  • 关注

原创 iOS 单例模式详解/避免滥用单例

hihi勇敢的小伙伴儿们大家好,单例相信大家都很熟悉了,它在我们的开发中给到了不少帮助,但是你真的熟悉它吗?是否只是一个泛泛之交,而没有走进它的内心世界呢?今天,我们一起走近“单例”,偷偷地了解一下单例吧~.........

2022-06-22 23:09:16 2867 1

原创 iOS Workspace内多project开发

前言hihi,勇敢的小伙伴儿们大家好,好久不见!之前我写过一篇“多target开发”内容的文章,当时是第一次看见同事大哥哥用多target这种方式实现项目多地区的开发,大大地提高工作效率,在有限的开发时间内出色地完成了多个App的开发,这让我不禁心生敬佩,所以对此进行了小小研究。原来iOS的世界中我还有那么多不足,那么多未知世界需要去探索...今天来跟大家分享的是同一个workspace中多个project开发。但今天只是入门,就是简单的告诉大家如何在workspace中引入创建多个project以

2021-10-16 19:47:33 1651 1

原创 iOS 国际化小技巧“搜索项目中的所有汉字”

前言hihi,勇敢的小伙伴儿们大家好~不知道大家有没有遇到在项目突然被要求实现国际化的情况,并且时间紧任务重,源代码中大量的中文需要全部替换对应的英文,这种情况需要不断的检索代码中的中文,防止有所遗漏,把有限的时间耗费在重复工作上,实在是太浪费了,而且效率低下,工期也会被延长。那么我们需要动脑想一想,有什么可以节省时间减少重复劳动的办法呢?嘿嘿嘿,当然是有的啦~正文如果你是一名开发者,相信你已经熟练的使用Xcode的Find(查找)功能了,在我们日常开发中提供了很大的便利,我们今天搜索.

2021-07-19 13:35:08 1267 3

原创 Tips pod ‘SDWebImage/WebP‘或pod ‘libwebp‘网络错误解决办法

前言hihi,勇敢的小伙伴们大家伙,在工作中,当我们需要对项目的包大小瘦身时,往往要从资源文件开始下手,除了删除误用的之外,像图片资源啊,我们还可以在不损失图像质量的前提下尽可能的压缩一下,目前比较好的解决方案是将图片转成WebP,WebP的使用需要pod 'SDWebImage/WebP'或pod 'libwebp',但是pod的时候由于墙的原因经常报网络错误,即使用了梯子还是报错,让人感到费解。git clone https://chromium.googlesource.com/webm/l

2020-08-06 18:27:15 976

原创 iOS 从UIButton学习响应者链及相关技术

前言hihi,勇敢的小伙伴儿们大家好,北京的疫情终于告一段落,我每次出门我都担心自己被感染,非常焦虑,我不怕自己被感染,主要是怕自己感染身边的朋友、家人,所以这种焦虑是因为“爱”~ 说出来就感觉轻松了一些。所以有些心事不能总藏在心里,要学会表达。每次都有好多话想说,但又担心不同的人听了会有不同的感受,会对我造成误解,于是渐渐地学会沉默寡言了。每次都想告诉别人我有多么多么感谢别人对我的帮助,表达我有多么多么真诚,但有时候常常苦于证明自己,而忘记了在意对方是否舒适。真想做一个自信、高情商的人,与人相处...

2020-07-21 21:34:30 1764

原创 Mac 终端的入门指南与进阶技巧

前言hihi,勇敢的小伙伴儿们大家好啊,今天我想分享的是 Mac 终端的一些用法,说起分享的原因呢,也是在生活中受到了前辈的指导,那分享的目的呢,就是想在分享的同时和大家一起学习并逐渐掌握这个技能,我在之前的休息时间内也学习过,犹记得当时在笔记本上写下的几个常用的指令(也可叫做命令,以下统称为指令),可到如今,几经周转,想再找到那个本子已经是难上加难了,借力于互联网时代的便利,还是在自己这番小天地里记录下来罢。其实在日常开发中我们经常会使用终端比如 git 和 pod(CocoaPods)就是我们常

2020-06-04 01:22:17 4547 2

原创 iOS UIWebView上架被拒完全解法办法

前言hihi,勇敢的小伙伴儿们大家好,今天才知道Apple在2020年4月份停止接受使用UIWebView api的APP,所以小伙伴儿在上传APP的过程中也许会收到类似内容的邮件,如图:一下子看到重点提示是UIWebView被弃用了,我们使用了被弃用的API,那么问题来了,怎么彻底清除项目中的UIWebView的代码呢?这就是接下来我要分享给大家的内容。正文首先,正常操作就是全局搜索UIWebView,将使用到UIWebView的地方全部替换成WKWebView及其使用方法。其中需要注意的

2020-05-19 21:26:02 11926 1

原创 iOS AutoreleasePool(自动释放池子)的原理和实现

前言hi,勇敢的小伙伴儿们大家好,疫情终于进入一个比较好的阶段,我也在这段时间内经历了很多,有了很多感悟,能在这场大自然的灾难中活下来,都是极其幸运的人啊,致敬那些挡住黑暗的人,致敬如今的美好生活。珍惜当下。感恩所有。好了,不啰嗦了,今天为大家分享的是AutoreleasePool这个ARC下的大功臣。正文一、AutoreleasePool是什么?AutoreleasePool是OC中的一种内存自动回收机制,它可以延迟加入AutoreleasePool中的变量的release的时机。

2020-05-12 23:09:06 2759

原创 iOS 限制 UITextField 输入两位小数

<UITextFieldDelegate>@property(nonatomic,assign) BOOL isHaveDian;/** * textField的代理方法,监听textField的文字改变 * textField.text是当前输入字符之前的textField中的text * * @param textField textField * @p...

2019-12-21 11:19:56 984

原创 iOS 学习笔记之开发技巧weakself宏

前言开发中尤其是纯代码开发界面的时候一些重复代码不断的输入,着实让人觉得很浪费时间,但是用别的方式可行性不高,所以用了codesnippet完成自动补全,大大地提高了开发的效率,为我们节省不少时间。本篇旨在通过一个weakself的宏定义为大家提供一些思路。原文地址:iOS开发小技巧之--weakself宏正文一、weak宏定义进化史我们都知道在防止如block的循环引用时...

2019-09-25 11:13:40 733

原创 iOS Xcode10.1中OCSwift混编报错

前言hihi,勇敢的小伙伴儿们大家好,我们有一个项目许久未更新了,所以代码有很长一段时间没有运行过,这两天想参考原项目的功能和设计,所以要运行起来安装到设计人员手机中,给她作为设计的参考,但是运行起来出错不断,原先可以顺利运行的项目报错了。面对这些突如其来的问题,不怂,错误不可避免,解决就可以了。正文因为项目是混编的原因,Swift的使用直接导致了这次错误的出现。问题出现及解决...

2019-09-02 09:58:29 1049

原创 iOS CALayer实现按钮的流光效果

前言hihi,勇敢的小伙伴儿们大家好,今天想给大家分享的是一个动画效果,我在简书上看的,参考文章地址,怎么说呢,我看了代码,实现是很简单的,但是呢,这个代码里硬性条件比较多,比如说需要准备几个图片资源,所以我选择了与之有所差异的方式实现,尽量减少图片的使用,当然,我这个效果是比较简单的,如图:所以才可以这样做,如果换做参考文章博主的风格,用这种简单的方式的确很难实现,还需要设计师的支持...

2019-08-29 14:58:13 2436

原创 iOS CALayer组合动画实现loadingView

前言hihi,勇敢的小伙伴儿们,大家好,loadingView在生活中已经是很常见了,各大平台都有不同的loadingView,最常见的浏览器就能看到的如下图这种Google Chrome的等待动画,还有很多种其他的loading动画需要我们学习,有时候我们使用做好的gif就可以实现,那么我们为什么要学习动画的绘制呢?因为CALayer动画可以实现比UIView动画更丰富、...

2019-06-27 15:07:34 1368 1

原创 iOS 实现section内单个或多个cell加阴影效果

前言hihi,勇敢的小伙伴儿们大家好,我胡(wang)汉(yan)三(hua)又回来了,今天想说个可能在大家眼里很简单的一个技巧,就是给section整体加阴影,形成卡片效果,当然这个技巧是有局限条件所以才使用的,要想实现section加阴影有多种实现方法,在这里不赘述,主要是因为我在学习一个比较久远的代码的时候,不方便重构代码,所以只能在原来的代码基础上实现,所以有了今天的这篇文章,今天主要...

2019-06-06 00:12:31 2774

原创 iOS YYKit学习之YYText的使用

前文hihi,勇敢的小伙伴儿们大家好,好久不见~ 前段时间因为各种琐事缠身再加上情绪十分不稳定,所以未能及时与大家分享知识。今天分享的是很出名的一个库了,是很久很久以前用的,想来还是分享一下比较合适,这个库就是YYKit,今天分享其中的YYText的使用~在我很早之前有一篇博客iOS 把你的UILabel多彩起来实在是太简单了,已经不适合用很多场景,现在的Label一个比一个复杂,面对...

2019-04-10 16:47:28 10109

原创 iOS 常用宏定义大全(其实不全)

前言hihi,勇敢的小伙伴儿们大家好,新年伊始,你们有没有立什么flag啊~我反正是把科学防脱提上了日程。今天给大家分享的内容是常用的宏定义,希望能够给大家提高开发效率,有些还蛮好用的,如有错误烦请指出~感激不尽~正文话不多说,上代码~//屏幕宽度&amp;高度#if __IPHONE_OS_VERSION_MAX_ALLOWED &gt;= 80000 // 当前Xc...

2019-01-11 16:21:33 984 5

原创 iOS 动态加载LaunchScreen上的图片

前言hihi,勇敢的小伙伴儿们大家好,明天就要放元旦假期了,小长假三天你们准备去哪玩呢?我就不出去玩了,买了一本新书在家攻读,如果有时间有机会的话我会写成博客跟大家一起分享。今天分享的这个吧,恕我才疏学浅,我之前一直不知道还有这种操作,所以今天来分享给大家。因为有宣传活动页(类似广告页)的需求,需要在启动的时候展示给用户,所以尝试着自己切换一下rootViewController的...

2018-12-29 17:02:57 6347

原创 Tips 解决Xcode 8以后的Alcatraz等插件不可用

前言出意外了,我竟然又要写博客了,emmm,安卓开发有很多插件太方便了,搞的我想搞一些插件用用,上一次用插件是三年多以前了,好久没用也不如以前那么简单方便了,Xcode不知道升级了多少次,so索性了解了Alcatraz和其他插件为什么在Xcode10上不能用的问题,然后解决了,亲测可用。原文地址:解决Xcode 8以后的Alcatraz等插件不可用我根据自己实践结果给大家分享一下~...

2018-12-06 16:52:30 524

原创 Tips 安装ipa到iPhone

前言"来了,老弟"欢迎你来看我的碎碎念和我的干货分享。不知不觉,不知不觉,又到了2018年的尾声了,当人家每个新月份发朋友圈说“你好,12月”的时候,我都会提醒自己新的月份有没有收获新的知识,有没有写新的博客,我终于在第四天学到了一个小技巧分享给大家,知道的小老弟们,请不要笑话我,不知道的小伙伴儿们,希望我的分享能帮到你。说了这么多,今天分享的内容就是如何将ipa安装到真机上。注意...

2018-12-04 14:28:44 2598 1

原创 Tips iOS企业账号发布应用的技巧

前言hihi,勇敢的小伙伴儿们大家好,好久不见,双十一已经过去了,最想知道的就是你们的双十一购物list,我嘛,一大堆零食在来的路上,哈哈哈哈,心情好,我终于决定写一篇博客了,来分享一下我最近才知道的东西。刚工作的时候公司用的企业账号,我同事大哥博学多才,我们发布应用的时候就采用的托管平台下载的方式。那时候第一次接触觉得甚是好奇,为什么苹果提供的企业账号不允许通过App Store下载...

2018-11-13 13:55:57 716

原创 Tips pod install速度慢的终极解决方案

前言作为一名iOS开发,新电脑总是逃不过配置Cocoapods。但是每次pod install都需要挑战耐心,因为实在是太太太太太慢了,我的电脑是几kb每秒,而且下载一会儿就gg了,根本没有注意到什么时候失败了,没办法还得硬着头皮重下。试过了很多种方法,发现都不是很理想,在“爽”同学的帮助下终于顺利的提高了下载速度,实在是\(≧▽≦)/激动,故此将这篇文章(经微小改动后)分享给更多的小伙伴儿们...

2018-10-20 11:54:00 8307

原创 iOS 协议、税务和银行业务

前言国庆假期回来了,你们都去哪里玩了呢?是在朋友圈走遍大好河山,还是自己出去旅行了呢?我能说我朋友圈清一色结婚,清一色晒结婚证的么,感觉大家都去喝喜酒了~我也不例外,我去当了人生里第一次的伴娘~很开心,能见证我的好朋友和她男朋友步入婚姻的殿堂,虽说婚姻是座围城,城内人想出去,城外人想进来,但看见他俩的婚礼我有一丢丢羡慕呢,嫁给爱情的样子真美~然后呢就是iPhone XR 和 i...

2018-10-09 17:43:38 1727

转载 iOS 【App审核】 iOS因关键字,App名字副标题被拒绝

原文地址:https://blog.csdn.net/wxs0124/article/details/52468748苹果如下说3 PERFORMANCE: ACCURATE METADATA Performance - 2.3.7Your app name to be displayed on the App Store includes keywords or descriptor...

2018-10-08 14:10:36 3440

原创 Tips AppStore审核加急

前言hihi,勇敢的小伙伴儿们大家好,之前之所以很忙是因为我们的App要上线了,但是上线已经两个周了还在审核,急急急,这时候怎么办呢?难道只能干巴巴的等吗?答案是否定的,我们可以主动联系Apple,请求审核加急。所以今天我来跟大家分享一下如何联系Apple,同时有其他问题也可以联系他们的哦,而且是没有次数限制的~但是一般苹果审核的周期是3周左右,如果不是特殊情况,不建议主动联系要求审核加急...

2018-09-12 15:00:56 1630

原创 iOS NSString+emoji编码以及解码

前言hihi,勇敢的小伙伴儿们大家好,金秋九月,不知不觉已进入秋季,晚上天黑的越来越早,夜也变得越来越长,听我在北京的同学说晚上下班一出门冻得打哆嗦,哈哈,秋天真的来了~我最喜欢的季节是春天,因为春天生机勃勃,万象更新,春暖花开,最重要的是不冷也不热。我最不喜欢的季节是夏天,热的不能出门,尤其是我这种爱出汗星人,而且还要开空调,对环境有一定的影响,不利于环保(一本正经)。秋天和冬天我都蛮喜...

2018-09-08 12:08:21 4434

原创 iOS NSException与NSSetUncaughtExceptionHandler处理异常

前言hihi,勇敢的小伙伴儿们大家好, 了解这个是因为我在项目里集成了Bugly,即使不在开发过程,用户使用项目产生崩溃的时候也能将崩溃的原因上传到服务器上,尤其是试运营的版本,能够为后期优化App和减少Bug数提供不少方便,记得以前看安卓代码有try/catch的捕捉异常和处理异常的操作(此处存疑,记不太清了),想着iOS异常是怎么捕捉到的呢?于是有了这篇博客。接下来跟大家一起学习一下N...

2018-08-18 15:47:40 7099

原创 iOS 原生控件UIRefreshControl实现下拉刷新

前言hihi,勇敢的小伙伴儿们大家好,某些情况下,我们已经做好了刷新的操作,但调用的方式却不太理想,想改成下拉刷新,这时候不想导入MJRefresh这样大的第三方库,只想简单的实现一个下拉刷新的调用方式。该如何快速实现呢?UIRefreshControl了解一下?这是个原生的下拉刷新的控件,ScrollView已经添加了refreshControl的属性,非常方便好用。正文UI...

2018-08-15 17:27:32 3951

原创 iOS 浅谈CGGeometry——几何类常用方法

前言hihi,勇敢的小伙伴儿们大家好,平常我总是只会简单的使用CGRect,CGPoint,CGSize,发现自己真的low到不行···所以今天来跟大家一起学习一下CGGeometry中的一些方法。CGGeometry参考定义几何结构和功能,操作简单。数据结构中的一个点CGPoint代表在一个二维坐标系统。数据结构的位置和尺寸CGRect代表的一个长方形。数据结构的尺寸CGSize代表宽度...

2018-08-13 18:04:14 785

原创 tvOS 关于Apple TV开发的注意事项

前言hihi,勇敢的小伙伴儿们大家好,八月,来更博客了~tvOS开发的一些注意事项分享给大家~正文有能力的小伙伴儿们可以去官方文档了解一下App Programming Guide for tvOS接下来说几个tvOS的特别之处。1.Apple tvOS引入了一下几个特有的框架。TVMLJS。描述了C/S应用中用来加载TVML页面的JavaScript接口。见《TVJS F...

2018-08-12 18:49:59 2396

原创 iOS 自定义UICollectionViewLayout实现瀑布流

前言hihi,勇敢的小伙伴儿们大家好,很高兴今天又能更新了,首先照例说一下学习这个瀑布流的人生感悟(一本正经)。在2015年的时候我已经了解瀑布流这个概念了,也知道是用UICollectionView来实现的,但是有意思的是我从业几年来,从未在项目中真正实践过,所以我就一!直!没!学!但!是!在若干年后的今天,我们项目中要使用瀑布流的布局。嗯,这时候知道知识的重要性了,技多不压身,多学一点是一点儿...

2018-07-09 14:12:21 10799 3

原创 Xcode 修改Simulator系统版本

前言hihi,勇敢的小伙伴儿们大家好,我又又双叒叕来更新啦~今天做项目需要用iOS11以下版本做测试,但是我手机已经更新至最新版本了,怎怎怎么办?当然是要靠模拟器啦!所以今天我们来了解的是在Xcode中如何修改Simulator的系统版本~跟我一起学习吧~正文1. 从Xcode菜单栏打开Preference-&gt;Componets-&gt;Simulators,下载对应版本的模拟器。点击下载按...

2018-06-27 14:24:16 13983

原创 WatchOS 输入(语音、手写、emoji、选择文本)

前言hihi,勇敢的小伙伴们大家好,好久不见,前段时间我去医院看病顺便拔了两颗智齿,可以说是痛不欲生了,打了一个星期的吊瓶勉强复活,又吃了接近半个月的药续命,到现在还没好利索,哎,我没有吓唬你们的意思,拔智齿这种事真的因人而异、因医生而异,请大家一定要慎重,不然可能工作都做不了了,看在我满50%血复活的份儿上怒来分享一波儿最近学习的新技术,娃哈哈,有点意思~【小插曲】解决Xcode显示This a...

2018-06-14 18:06:45 1221

原创 WatchOS 实现iPhone与Apple Watch通信(数据传输)

前言(没有Demo)hihi,勇敢的小伙伴儿们大家好,最近身体不适···就不多说废话了,今天带大家了解的是AppleWatch和iPhone之间通信的两种方法,第一种是Watch OS1的App Groups,第二种是Watch OS2中提供的Watch Connectivity Framework中的WCSession对象。正文WatchOS 1在watchOS1中,我们使用AppGroup和A...

2018-05-26 15:11:30 7648 2

原创 Tips Mac的dmg加密和zip加密的小技巧

前言hihi,勇敢的小伙伴儿们大家好。今天是2018年5月22日,星期二,农历四月初八,下面介绍本篇文章的主要内容,本篇文章的主要内容有:Mac上的dmg加密和zip加密。下面请看详细内容。哈哈,皮一下,莫名的想用新闻联播体说几句。前两天分别是5月20日和5月21日,被朋友圈的狗粮喂得饱饱的,让我减肥的目标都放弃了~ 哎,一把辛酸泪~ 总觉得自己不够优秀,前两天去医院看病,等待的时间去书店随手抓了...

2018-05-22 09:57:39 3380

原创 Xcode9.3 解决Block implicitly retains 'self'; explicitly mention 'self' to indicate this...警告

升级到Xcode9.3之后,大括号里声明的属性,在Block里面就会出现Block implicitly retains 'self'; explicitly mention 'self' to indicate this...的警告,大量这样声明的属性,产生了大量的黄色警告⚠️,很烦人!解决办法如下图所示:在Build Setting里面搜索Implicit retain of 'self' w...

2018-05-16 17:36:22 7358

原创 iOS 展示LivePhoto功能

前言hihi,勇敢的小伙伴儿们大家好啊~忙里偷闲,学习一点新东西所以来给大家分享来了~这次学习的东西非常简单,展示LivePhoto的功能~为什么要学这个,哈哈哈,当初LivePhoto第一次出现的时候,我没有学它,后来微博出现了,我不以为意。直到抖音上线了带火了LivePhoto的生成功能,我才对这个起了兴趣,我自己也生成了一些LivePhoto作为我的锁屏背景,甚是有趣!但是!搜索生成Live...

2018-05-16 16:36:29 2411

原创 iOS NSUserDefaults删除全部记录或删除指定记录

hihi,勇敢的小伙伴儿们你们好。小女不才,之前一直不知道NSUserDefaults删除全部记录的操作,因为发现一个小问题,所以才看到了这样的一段代码。NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];[[NSUserDefaults standardUserDefaults] removePersistentDoma...

2018-05-10 16:36:05 4598

原创 tvOS UICollectionViewCell上添加UIButton改变焦点Focus

hihi,勇敢的小伙伴儿们大家好,五一假期结束,你是否有一个美好的假期呢,还是在家里看书写字撸代码,哈哈哈哈~我在学习的过程中发现一个问题,就是无法把焦点从Cell转移到Cell上的Button上,这样让我很困扰,所以找到了Apple Developer Forums上的一个问题,尝试了其中的解决办法,发现完美解决,这方面的资料甚少,找起来也不太容易,所以今天早上来把博客补上~希望能给其他小伙伴儿...

2018-05-02 08:55:32 712

原创 tvOS 开发第一个tvOS应用

前言hihi,勇敢的小伙伴们你们好哇,还有6天就是劳动节了,忙碌工作的你是否已经迫不及待享受这即将到来的假期呢?提前祝福大家有一个美好的假期哦~今天我们要学习的是tvOS开发,偶然看到一篇很好的博客,准备记录下来,记录下来的最好方式就是学会它,所以就来了今天这篇博客~原文地址:https://www.appcoda.com/tvos-introduction/ 正文1.了解tvOStvOS基于iO...

2018-04-23 09:36:03 1799

原创 iOS 分解视频中所在帧

hihi勇敢的小伙伴儿们,大家好~前言抖音很火,大家应该都知道的哈,这个产品可以说是做的非常成功了,这样一款当下最火的App,作为一名开发者,必须要学习一下人家的产品设计,其中最先被关注的是抖音小视频的封面动图效果如何实现,我自己测试得到的这些小视频封面是从服务器获取的图片,但是我也想自己自己试试能不能实现,所以有了这篇博客。如图所示,为视频内提取的帧动画(侵删)。Demo地址:视频截取帧 有需要...

2018-04-20 16:43:11 2301

iOS编码规范.pdf

这是从苹果官方的编程规范汉化而来的版本,由我自己手动整理,包括word版和pdf版,精致易读,欢迎下载学习!

2019-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除