17 大熊猫侯佩

尚未进行身份认证

贪吃贪睡的大熊猫侯佩 | 侯佩,偶滴神啊!

等级
博文 1k+
排名 273

Swift初学者容易掉入的两个比较隐蔽的陷阱

本篇本猫向大家演示了初学者用Swift语言编码时容易犯的2个错误,希望可以帮助到大家。

2019-06-01 10:05:44

iOS间接循环引用造成内存泄漏一例

大家对iOS代码中的循环引用导致内存泄漏都很了解,本博试图进一步完善和补充这一主题,谈谈间接循环引用造成泄漏的问题。

2019-05-28 10:32:16

iOS第三方动画标签库内存泄露点的寻觅之旅

本博叙述了在使用第三库的过程中,从发现其中有泄露到定位到泄露,最后解决内存泄露的全过程。适合有一定经验的iOS开发者观赏。

2019-05-04 11:01:16

iOS代码动态消除iPhone X底部工具条(ToolBar)与键盘间的夹缝

在App界面底部增加工具条并不少见,在工具条上增加输入框更所谓是"应知应会".下面本猫就向大家介绍如何适配iPhoneX中底部工具条与弹出键盘的相对位置.

2019-04-23 11:10:28

亲自入坑:2012年的macbook air安装windows7全过程

首先说明一下:我是不用windows的,更不会在mac上装windows。我是为别人帮忙安装的,其中一直入坑,好像最后才从里面爬起来,值得记录一下,供后人观赏注意:请看完全文后再动手操作,装机有风险,行动需谨慎!!!零:准备首先明确只有较晚的mac才支持免U盘安装windows(好像是2014年之后,但未验证,这个运行BootCamp可以看出来),2012年的mba是不可以免U的。...

2019-04-18 11:23:53

iOS科普一下根View及其子View中心点含义的坑

本文简单介绍了根View以及子View中心的含义。解答了为什么根View的直接子View可以用childView.center=parentView.center来设置中心,但childView的子View不可以这样做的原因。废话?中心什么意思!?的确,中心是什么意思,不是废话么?中心不就是中心么?不过严格来说,在iOS里view的中心(view.center)是其矩形中心点在其父...

2019-03-12 10:38:09

Swift派生与不派生自NSObject对象之间等于比较的不同

本文简单介绍了Swift中派生与不派生自NSObject的类,在等于比较时表现出的不同行为;还顺带讨论了创建大数组时效率的问题.等于或不等于我们知道对于数组的比较来说,实际比较的是它们中的每一个对应位置上元素.所以最终都是要比较对象的.我们还知道对于Swift中的类来说,要实现==操作符,需要遵守Equatable协议,并实现==方法.比如对于类A来说:classA:NSObje...

2019-02-21 11:06:36

简约同样简单:为UISlider添加显示当前值的标签(下)

本文在重构的基础上,从类封装的角度重新实现UISlider的功能扩展:显示当前的值,比之前更加简单和易于维护。建议在看完上篇之后再来观赏。上篇观赏在此:简约同样简单:为UISlider添加显示当前值的标签(上)为什么要重写?在上篇里我们已经实现了UISlider的扩展功能,已经可以用了,为什么还要费事再说这个事呢?原因是:它的封装性不足,对外太开放。举个栗子:UISlider上...

2019-01-29 14:22:09

简约同样简单:为UISlider添加显示当前值的标签(上)

本文畅想了几种为UISlider添加显示当前值的方法,并选择了其中一个稳定,简单的实现.适合iOS刚入门或中级水平的童鞋们观赏.看不见值?这不科学!默认的UISlider,你可以任意拖动,却看不见当前表示的值…有点盲人摸象的赶脚了…我们一般的做法是用另一个控件表示其当前值,比如一个UILabel.不过这样貌似要另外占用一些空间,不紧凑!看到UISlider上面那个圆圆的把手了么?我...

2019-01-27 13:35:26

吐槽一下Xcode中的Playground

本文对playground的优缺点做了一个阐述,并将其与Ruby中的irb做了比较,主要是想借机抒发一下作者想怼Ta的美好心情出发点苹果的初衷很好,做一个可以快速实验原型的平台.对一些简单的想法,可以来快速印证.我不知道你们用不用,反正我用playground还是蛮多的.除了常规的测试外,还可以实验线程和GUI相关的代码,不过需要做点调整…抓狂点神马?没有优点么?优点就是出发点...

2019-01-19 09:30:55

乱弹:Swift单复共体参数类型---与Ruby相比不那么优雅的实现

本文提出单复共体参数的一种实现,同时比较了Ruby中的实现,后者显然更加优雅。适合对Swift语言本身有兴趣,喜欢纠结语法,而且了解其他动态语言的童鞋观看。什么是单复共体参数?这是我发明的词…很简单,就是对于同一类型的对象,既可以传递它的单数形式又可以传递它的复数形式作为方法的参数。还是一头雾水???举个栗子://display(...)是一个方法,现在还不知道它的原型应该怎么写,...

2019-01-06 12:54:34

CoreData中访问托管对象的NSSet关系属性导致崩溃的解决

本文介绍了再少数情况下,当访问CoreData托管对象中的NSSet关系属性引起App崩溃的现象以及解决.现象在访问托管对象的traces关系属性时,App崩溃,提示:***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'***-[NSMutableSetunionSe...

2018-12-31 19:56:35

化繁为简:Swift剔除数组中重复元素的几种姿势

本文向大家介绍稍许算法的实现:关于如何去除数组中的重复元素,并比较了两种算法之间的效率.全部代码在Xcode的Playground中实现,直观明了,适合Swift学习入门童鞋观赏.有个前提如题,很多童鞋立即给出解决方法,无外乎是利用Swift内置的集合(Set)或字典(Dict)的一个特性:过滤重复元素.但由于集合和字典中元素的顺序是无法保证的,所以这建立在一个前提基础之上:结果数组元素...

2018-12-27 17:23:48

iOS使用动画连贯过渡界面转换

本博向大家演示如何通过添加动画,为原有界面元素变换增加连贯的过渡效果.为UI代码一丝动态与活力感.缘起第三方的一个图片裁剪器,拿过来做了几点修改:将其封装到动态库中,方便集成扩充了一些功能,比如等待菊花和是否允许进行裁剪等用封装好的动态库创建了一个ImageCropRow类,这样就可以在Eureka中方便的使用了大致就是如此,细节不必深究,现在的效果是这个样子的:总体符合本...

2018-12-22 13:02:23

一招搞定Xcode错误日志显示use -v to see invocation的问题

本博向大家展示了当Xcode出错信息匮乏,完全不知所云时,如何找到真正的错误原因的方法。简单有效,你值得拥有。抽风的Xcode?极少数情况下,Xcode编译出错的信息完全让人摸不着头脑,比如下面一段:<unknown>:0:error:merge-modulecommandfailedwithexitcode1(use-vtoseeinvocatio...

2018-12-20 21:11:13

Swift调用协议扩展导致崩溃的解决

本博向大家介绍Swift对象委托的一种变通方法,但遗憾的是该方法在Swift4.2中会导致App崩溃,生活还要继续,且看本猫如何解决它喽.什么是对象委托简单的说对象委托就是对象A假装对象B,当然A和B的类完全不同.用过Ruby的童鞋都知道,这很容易完成:ClassAccount<ActiveRecord::Basedelegate:firstnam...

2018-12-19 10:36:25

Swift中集合(Set)无法删除自身对象的临时解决方法

这是本猫遇到的比较怪异的问题之一:明明在集合中的对象,但却无法直接删除它。由于原项目较为复杂,为了演示目的,本猫对博文示例代码做了简化,但并不影响问题的表述。背景介绍App逻辑很简单,对象Node对应着TableView中每一行,你不用知道Node对象到底是啥,你只要知道它是列表每一行后面的那个数据对象:classNode:Equatable{ varnodeId:Int va...

2018-12-15 16:52:50

Xcode真机运行App行为怪异且断点无法触发的解决

系统环境MacOS10.12.64GBMBA,编译环境Xcode9.2Swift4.1问题现象在模拟器上编译运行一切正常,但在真机上编译运行时发现某一个界面显示方法总是返回错误的内容。关键是在该方法上下断点竟然无法触发,是的,我100%肯定会调用该方法!!!重启真机,删除App重新安装无效!因为界面是显示数据库中对应的内容,索性重新从云中还原模拟器中备份的数据,可是在...

2018-12-12 21:53:09

iOS一步步妆点动画使界面元素迸发新活力

本博在iOS原有静态界面的基础上,一步步尝试使用动画来突出选择动作,使原来呆板的元素瞬间鲜活了许多,为用户打造活力满满的界面。没有动画的世界原来的界面很简单,用户通过段选择器(UISegmentedControl)来选择切换两个不同的UILabel,如下所示:由上至下两个UILabel为curFromDateLbl和curToDateLbl,分别代表起始日期和结束日期,我专门写了一个方...

2018-12-05 14:07:59

iOS解决控制器转场和返场界面卡顿的一种方法

本博介绍了在控制器转场和返场时界面发生卡顿的一种解决方法,主要思想是使用视图快照功能来提供一个静态的伪视图以提高性能.转场和返场转场是指从控制器A切换到控制器B中,这意味着控制器A被隐藏:控制器A->控制器B而返场是指从控制器B切换回控制器A,这意味着控制器A重新被显示:控制器B->控制器A为什么会卡顿?如果在控制器转场或返场时需要播放复杂的转场动画或者在...

2018-12-02 16:33:41
CSDN身份
  • 论坛版主
  • 博客专家
奖章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 红花
    红花
    子板块内专家分月排名榜第一
  • 黄花
    黄花
    子板块内专家分月排名榜第二
  • 蓝花
    蓝花
    子板块内专家分月排名榜第三
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。