大熊猫猪侯佩 (︶^︶)

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

Swift如何判断字符串的语言

有时我们需要判断一段文字是属于那种语言:英文?韩文?还是中文?虽说这也算某种程度的猜测,但至少比你自己瞎猜要准确地多! ;)这里提供三种方法.首先如果你只在MacOS上运行的话,你可以用AppKit中的NSSpellChecker类:import AppKitlet checker = NSSpe...

2016-11-29 20:22:59

阅读数:1197

评论数:0

Swift中enum自定义类型的实现

在Swift中枚举类型非常强大,内置的实现可以大大减少我们手敲的代码量.下面碰巧就有这么一个需求:Person类里面有一个type属性,其值包含2个内容,一个是name,类型为String,另一个是logo,类型也为字符串,不过表现为绘文字emoji.因为结构或类的静态属性都可以用点访问符来直接访...

2016-11-27 15:36:15

阅读数:1576

评论数:0

TableView的accessoryButtonTappedForRow方法执行的时机

敲代码时遇到了这个问题,别偷懒,写下来备查.当你在IB中对TableView中的accessory(注意,我说的是cell中的accessory,而不是cell)创建segue时,如果你在VC中同时实现以下3个方法,请问调用的次序是神马!?//1 func tableView(_ tableVie...

2016-11-18 20:49:54

阅读数:1687

评论数:0

iKinds:我是如何一步步重构改造项目从单VC到多VC界面(下)

上一篇中我们快速验证了原型的功能可以实现,接下来就是稍微放慢前进的步伐,来收拾一下之前快速开发时写的稍显蹩脚难看的代码了.为了让大家还有印象,我把最后修改的方法完整显示如下:override func tableView(_ tableView:UITableView, didSelectRowA...

2016-11-17 09:27:50

阅读数:599

评论数:0

iKinds:我是如何一步步重构改造项目从单VC到多VC界面(上)

iKinds是本猫近期准备慢慢把玩的一个项目,项目不是完全从0开始,而是借助于另一个不错的App框架,不过原来的框架使用的都是同一个ViewController模板,现在因为需要扩展为多个不同的VC模板. 原来的框架使用了一些layer的3D动画效果,这对单VC模板工作的很好,现在要改为多VC模...

2016-11-17 09:08:28

阅读数:830

评论数:0

Swift 3.0:String初始化器Encoding不能为nil的解决

以后会写一系列Swift 3.0中的小变化的博文,内容短小,因为我遇到这种问题就马上写下来,并不会刻意积累一大堆再一起写出来.如果大家有Swift 3.0使用上的问题欢迎提问.这个问题发生在之前可以执行的代码中:if let plays = try? String(contentsOfFile: ...

2016-11-13 19:57:39

阅读数:1423

评论数:0

对GitHub&CoreData项目的改造及完善

GitHub&CoreData(以下简称GC)项目是一个可以实时从GitHub的swift‘s Project里抓取更新的App。其中用到了第三方的son库SwiftyJSON,以及用来保存,枚举以及修改数据的NSFetchedResultsController对象。但是该项目在实际运行时...

2016-11-12 10:27:50

阅读数:706

评论数:0

Xcode8.x使用CoreData模型出现类被非法重定义的解决办法

这个问题在Xcode7.x中貌似没碰到过。不过在Xcode8.x中,在使用可视界面创建CoreData模型后再使用Editor->Create NSManagedObject Subclass之后有时会发现生成的数据对象类被重复定义的编译错误!这是因为在Xcode8.0中包含了一个自动生成N...

2016-11-10 16:32:03

阅读数:2404

评论数:0

CoreData在Swift 3.0中的一点改变

在Swift 2.0中我们需要从core data中query结果的时候使用的是如下方式:func findAnimals() { let request = NSFetchRequest(entityName:”Animal") do { gua...

2016-11-09 19:39:37

阅读数:1195

评论数:0

Xcode8.1中@IBDesignable以及@IBInspectable不能自动刷新的解决办法

Xcode中的@IBDesignable和@IBInspectable关键字出来也有一段时间了,目的是当用户改变View属性时InterfaceBuilder的界面里可以得到即时刷新反馈.这无疑对于App界面的调整带来很多方便.不过网上很多童鞋都会抱怨使用时会出现或多或少的问题,不要着急,就让本猫...

2016-11-06 13:31:30

阅读数:1784

评论数:0

SpriteKit:开启物理逐像素(Per-Pixel)碰撞检测后发现的问题及解决(续)

正传传送门:SpriteKit:开启物理逐像素(Per-Pixel)碰撞检测后发现的问题及解决之后还是发现一个小问题,就是虽然player可以正确处理碰撞scoreDetect出发点和其他障碍物,但是由于启用了Per-Pixel,还是会发生多次接触的情况,这时玩家的得分就会被多次累加!相关代码如下...

2016-11-04 11:20:55

阅读数:781

评论数:0

SpriteKit:开启物理逐像素(Per-Pixel)碰撞检测后发现的问题及解决

下面是一个开源的iOS小游戏,类似于 Flappy Bird,玩家需要不停点击屏幕让小飞机从峭壁中穿过,如果飞机撞上峭壁或地面游戏宣告结束,否则每穿过一次峭壁,玩家加一分.因为只是飞机和其他任何物理对象碰撞,而其他物理对象相互之间均不会发生碰撞.所以原作者将飞机的接触掩码(contact mask...

2016-11-04 11:01:16

阅读数:964

评论数:0

SpriteKit:模拟器中播放效果音有延时的解决办法

以下代码在模拟器(Xcode 8.1 + iPhone7)中运行会在第一次播放效果音时有半秒到1秒(甚至更长!)的延时,随后再播放就没有延时了:let sound = SKAction.playSoundFileNamed("explosion.wav", waitForCom...

2016-11-03 16:46:02

阅读数:1120

评论数:0

SpriteKit中Scene中物理世界属性speed

SpirteKit中Scene拥有一个speed属性.所有SpriteKit的节点可以有附加其上的actions,并且默认他们全部以实时运行—–也就是说,动作中的1秒等同于真实时钟里的1秒.这个speed属性是一个时间的倍乘器,让你可以调整附加在节点上的动作应该运行多快.默认是1.0(真实时钟),...

2016-11-03 14:09:51

阅读数:819

评论数:0

Swift如何快速随机化数组中的元素

随机化数组元素或称为”洗牌”,是比较常用的算法,常常应用到一些游戏中.在Swift中我们可以有很多种选择.这里我只说两种:一种是扩展Array的功能,另外一种是利用GameplayKit中的内置方法.首先上代码:extension Array{ mutating func shuffle(...

2016-11-01 09:37:50

阅读数:1541

评论数:0

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