大熊猫猪侯佩 (︶^︶)

hopy是一只贪吃贪睡爱鹅鹅的大熊猫猪

排序:
默认
按更新时间
按访问量

反其道而行之:ObjC调用Swift功能的简介

大家可能对Swift如何调用ObjC中的方法已经很熟悉了,所以这个不细表了. 这篇博文中本猫却反其道而行之,给大家介绍下如何实现:ObjC调用Swift中的功能. 现举一栗! fileprivate let resBundleName = "HyCommonRes&...

2018-08-21 20:30:30

阅读数:15

评论数:0

iOS库中字符串国际化的实现

对于App中的国际化,大家想必已是轻车熟路了。 不过对于某些情况下我们需要对库中的字符串做国际化操作,这篇博文就来探讨一下如何完成这一任务。 其实理论上可以将库中的国际化字符串数据放在App的国际化文件中,但这样做打破了封装性,假如有100个App使用该库,则需要在创建100次国际化字符串,违...

2018-08-21 10:28:18

阅读数:27

评论数:0

Swift4.1定制UITableView索引外观之二:索引放大器

何曾几时,在一些热门的App的数据索引界面里,我们常常能够看到用户在改变索引时,屏幕中心会有索引的放大显示,非常人性化。 在这一篇博文里,本猫就来尝试用尽可能简单的代码来完成这一功能。 一.索引变化通知 首先我们必须在索引发生改变时得到通知,否则一切都无从谈起。幸运的是CocoaTouc...

2018-08-14 10:36:08

阅读数:55

评论数:0

如何利用Swift访问控制符来处理工厂模式的创建方法

我们知道在Swift中提供了5种访问控制符,合理的使用它们可以为我们打造更完美的代码生态系统。 现举一例。 通过工厂模式创建Counter对象,Counter只是一个工厂类,实体类是其两个子类: TimeCounter NumberCounter Counter类通过实际条件决定创建哪...

2018-08-13 09:06:20

阅读数:36

评论数:0

Swift4.1定制UITableView索引外观之一:索引字体

在这一系列博文中,本猫将会向大家介绍一下如何在UITableView索引的外观上做文章,添加一些不一样.

2018-08-10 20:23:41

阅读数:75

评论数:0

iOS:警惕伪"循环引用"造成内存资源释放的问题。

前不久发现App运行时内存占用一直在增大,嗅到一种不好的味道…闻起来像内存泄露啊! 在Xcode中打开调试内存图(Debug Memory Graph),奇怪的是并没有发现任何对象有引用循环! 看来初步判断并不是”死循环”导致的”内存泄露”。严格来说,如果没有引用循环就不存在内存泄露,因为你对...

2018-08-09 14:04:42

阅读数:70

评论数:0

Xcode中使用Profile测试App时报找不到framework的解决

如题,Xcode中正常编译运行是没有问题的。 因为想要测试App的性能,所以需要运行Profile. 但是在用Profile配置编译App时报错:无法找到某个framework库! 打开App的Scheme设置,选择Profile配置页面,发现其中使用的是release版本的配置。 打开T...

2018-08-06 16:05:57

阅读数:61

评论数:0

Eureka刷新Row疑似导致整个Form(Section)被刷新的问题

随着不断深入使用Eureka库,一些原来没有碰到的问题就会浮上水面。 最近本猫碰到这样一个问题:在刷新某一个Row时: row.reload() 会导致整个Form被刷新。 为什么我要刷新Row呢?因为我修改了row.title,如果不刷新,就不会显示更改后的内容! 其实本来再刷新一...

2018-08-06 09:18:28

阅读数:78

评论数:0

在swift中实现ruby数组中的的any方法

用过ruby的童鞋都知道,其数组包含一个any?方法(后面的问号不是手误,ruby允许方法名后面带特殊字符,其中就包括问号): 2.2.6 :001 > a = [1,2,3,11,5] => [1, 2, 3, 11, 5] 2.2.6 :002...

2018-08-01 10:59:07

阅读数:41

评论数:0

利用Xcode内存图工具分析解决App循环引用一例

在调试App时打开Xcode内存图工具,发现有循环引用 由上图可得: SectionTrace对象->SectionDayTracesGroupHeader对象->通过闭包ignore.context->SectionT...

2018-07-27 20:59:38

阅读数:213

评论数:2

Xcode操蛋的This app could not be installed at this time问题

在Xcode按Cmd+r在模拟器中运行,出现了如上错误。 为什么说操蛋呢?因为除了描述错误这行字以外Xcode没有任何其他提示了 ;( 我的环境是 Xcode 9.2 + iOS 11.2 好多年没用过VS了,不知现在的VS进化到什么地步了!? 也不是说Xcode不行,但就稳定性和人性化来...

2018-07-27 09:50:39

阅读数:83

评论数:0

MacOS中除了playground使用Swift的另一种选择

我们知道新版的Xcode中提供了一个playground机制可以用来快速测试swift语言的原型代码,这很好很强大,尽管稳定性和速度还有待于提高;] 不过要玩playground还是要先打开Xcode,这多少让人不爽.这不禁让我联想到ruby中的实时把玩工具irb,为毛swift的playgro...

2018-07-18 09:37:50

阅读数:76

评论数:0

修改CocoaPods库:GMStepper增加新功能(三)

修改CocoaPods库:GMStepper增加新功能(一) 修改CocoaPods库:GMStepper增加新功能(二) 你以为前面两篇就结束了吗???其实并没有,并没有,并没有… ;) 你以为你以为的就是你以为的吗?并不是,并不是,并不是 … ;) 如果能让GMStepper里的Lab...

2018-07-18 09:34:43

阅读数:94

评论数:0

修改CocoaPods库:GMStepper增加新功能(二)

在上一篇里我们讨论了如何扩展GMStepper库,不过还没完,我们的扩展还有BUG! 究其原因是GMStepper中间的Label是可以左右拖动的,顾名思义,向左表示减少,向右表示增加。 我们只是将增加按钮隐藏了,但是向右拖动Label还是可以增加Value值,用户就会很愤怒,尤其是有强迫症的...

2018-07-17 09:40:18

阅读数:254

评论数:1

修改CocoaPods库:GMStepper增加新功能(一)

GMStepper库在iOS中作为具有一定定制外观效果的UI对象,可以很好地作为UIStepper的替代版本。 它的一个特点是其中自包含了Value的显示: 注意虽然GMStepper很像UIStepper但是并不是其子类,而是UIController的子类! 在我的App中需要对G...

2018-07-17 08:57:39

阅读数:88

评论数:0

如何定制Github中第三方定时器的行为

在某些情况下需要扩展第三方库的行为。对于简单的修改没有什么问题,对于复杂的修改(核心功能),我们首先要做的就是深入库的源代码中理解原理,查找线索,不断测试,最后完成我们的扩展。 下面举一例:Github中的MZTimerLabel定时器库 该定时器很简练,但功能很强大,其中包含了正计时和倒计时...

2018-07-12 10:50:30

阅读数:62

评论数:0

iOS中UISearchBar首次搜索时抖动的解决

UISearchBar对于iOS中的搜索功能来说是非常有用的,一般来说它和UISearchController配合来用简直美美哒 ;) 一般来说SearchBar是放在UITableView的头部,但也不尽然。 对于我的需求来说我把它放到了UITableView的第一个Cell里: func...

2018-07-03 08:28:40

阅读数:174

评论数:0

iOS修改UISearchBar背景颜色

貌似很简单的事啊,直接用: searchBar.backgroundColor = .red 不就OK了??? 其实,不可以!!! 因为实际上UISearchBar的层次关系是这样的: 如果按照上面那样设置的将是UISearchBar自身的背景色,但是因为它上面还覆盖了UIVie...

2018-07-02 15:06:15

阅读数:134

评论数:0

Swift重载方法里调用super中相同方法导致Crash的原因及解决

我们常常会在派生类实例的override方法里调用其super同名方法,这很常见,比如: class ViewController:UITableViewController{ override func tableView(_ tableView: UITableView, didSe...

2018-07-01 21:15:49

阅读数:124

评论数:0

Xcode项目中使用Quick测试的正确打开方式

本人的运行环境Xcode 9.2 + Swift 4.0 + CocoaPods 1.5.3,虽然不是最新版本但也基本符合目前总体的开发环境。 Quick库是用于Swift(和ObjC)语言的TDD框架,它的最佳伴侣是Nimble库。 参考github中Quick库在Pods中的配置方法: ...

2018-06-27 10:37:19

阅读数:200

评论数:0

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