大熊猫猪侯佩 (︶^︶)

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

Mac中测试iOS模拟器sha1加密算法结果不同的原因

在iOS中想要实现sha1加密功能,于是使用objc桥接CommonCrypto/CommonDigest.h中的功能实现。在模拟器中运行App,然后将加密的结果和Mac中的结果比较,发现其中md5的值相符,但是sha1的加密结果却不相符。对于字符串helloworld,模拟器加密结果如下:md5...

2017-09-27 15:48:18

阅读数:790

评论数:0

MacOS中Safari地址栏卡顿以及经常自动跳转到MacKeeper站点的解决

MacOS的版本是10.12.5,之前浏览器再输入新的地址时会发生短暂卡顿.再安装了所谓的XXX激活器后,又多了个随意在Safari中跳转到MacKeeper站点的毛病!不想用TimeMachine还原,所以找到了一个办法,测试有效,与大家分享 :)https://www.malwarebytes...

2017-07-19 08:27:44

阅读数:1739

评论数:0

Swift减少print函数的耗费

尽管print声明不会在设备的console里打印,但它们甚至在Release版本和设备上也会执行,这些执行可能会带来一些耗费。特别的,它的参数仍然被模拟求值。如果你的print调用只有一个参数,这里有一个变通方法。你可以通过定义自己的全局级别的print方法来重写Swift的print方法,并且...

2017-06-14 16:44:06

阅读数:664

评论数:0

Nibs真的有必要吗?

因为nibs本质上只是一系列资源的实例,你可能觉得是否有可能完全不用它们。这些相同的实例可以用代码创建,所以难道不可能完全省掉(nibs)吗?简单的说:可以!完全有可能写一个复杂的app省掉单独的.storyboard或者.xib文件。但实际的答案是:要注重平衡性!大多数app使用nib文件作为至...

2017-06-14 09:11:28

阅读数:730

评论数:0

Swift协议合成(protocol composition)

我们知道类可以同时遵守多个协议,比如:protocol One{ func one(name:String) }protocol Two{ func two(age:Int) }class Root:One,Two{ }同样一个协议也可以遵守多个协议:protocol Comb:O...

2017-06-08 06:19:27

阅读数:880

评论数:0

Swift计算属性和存储属性的重要区别

As the preceding example demonstrates, a computed instance property function can refer to other instance properties; it can also call instance method...

2017-06-03 20:34:35

阅读数:695

评论数:0

Swift在同一条语句中传递方法结果到方法参数情况的处理

在相当稀罕的情况下,你想要将一个Cocoa方法的返回值立即传递给相同的方法里去使用.举个栗子,Cocoa有一个UIApplication实例方法:func beginBackgroundTask( expirationHandler handler: (() -> Void)...

2017-06-03 19:59:34

阅读数:1323

评论数:0

Swift静态和动态分发机制

Free functions, and methods called on structs, are statically dispatched. This means the function that’ll be called is known at compile time. This al...

2017-05-30 08:58:30

阅读数:1000

评论数:0

Cocoa使用GameplayKit人工智能影响用户UI的解决

一个4 IN Row小游戏,改写自Apple官方App的源代码。游戏用iOS9引入的游戏框架GameplayKit实现AI。玩家和电脑轮流下子,当任意一方连成4个同色棋子则宣告胜利,否则当棋盘下满则为平局,重新开始游戏。源代码写的很棒!但是有一个小缺陷:当玩家触摸屏幕选择位置放置棋子后,用户界面会...

2017-05-13 14:49:31

阅读数:657

评论数:0

SpriteKit小球被旋涡吞噬动画的进一步改进

App首先找到map文件,然后将场景地图载入游戏。map是一个人可读的ASCII字符文件,每个单元是一个“瓦块”,在cocos2d中对瓦块地图有非常好的的支持,不过在SpriteKit中,至少目前为止瓦块地图功能还不是那么太丰富。不管怎样把,地图中游戏元素分为star,旋涡和终点几种。当playe...

2017-04-28 15:23:30

阅读数:2478

评论数:0

HWS中SpriteKit教程实际运行错误的调整

Hacking With Swift(以下简称hws)是一本以独特视角展示Swift编程乐趣的书籍,1000+页也算大部头了…其中作者按照UIKit,SpriteKit,Tech的顺序循序渐进的将iOS编程的奥秘逐一呈现出来,非常棒!但是初学者按照其中的SpriteKit代码实际运行时会发现App...

2017-04-19 21:22:50

阅读数:814

评论数:0

MacOS下安装RVM无法安装公钥的解决办法

在安装RVM之前先要导入公钥:gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3或者:gpg2 --keyserver hkp://keys.gnupg.net --re...

2017-04-16 06:57:05

阅读数:1175

评论数:0

使用U盘重装MacOS的简单步骤

1.将U盘(>=8GB)抹除 选择磁盘工具左侧的磁盘,而不是分区图标,然后填入: 名称:Sierra 格式:MacOS 扩展(日志式) 方案:GUID分区图 点击抹掉2.抹除完毕后,进入终端输入如下指令:sudo /Applications/Sierra.app/Contents/...

2017-04-15 19:20:38

阅读数:1184

评论数:0

SpriteKit中节点存储个性数据的办法

我们知道大多数情况下,我们可以在SKNode实例的name属性中添加一些个性数据,不过一来只能使用一次,如果还有其他数据就无解了,二来只能存放String类型,如果还要存放其他类型呢?还是无解!不过不知各位是否注意,其实SKNode还提供一个非常有用的属性,可以用它存放任意数据类型,它就是user...

2017-04-15 16:35:06

阅读数:836

评论数:0

SpriteKit中Node数量只增不降的原因和解决

上篇 SpriteKit代码动态调整sks文件中粒子的颜色 博客中的App,运行中发现场景中的Node数量不断在增多,并没有减少,只见内存占用不断变大,虽然增长幅度很小,但强迫症伤不起…只有一个可能,Node没有被释放!检查代码发现,动态生成的Node只有小球和粒子效果,将粒子产生的代码注释掉后发...

2017-04-15 16:26:36

阅读数:770

评论数:0

SpriteKit代码动态调整sks文件中粒子的颜色

在Xcode中我们可以很方便的使用粒子模板制作粒子,然后保存为sks文件,这样我们随时就可以在代码中使用它们了:if let fireParticles = SKEmitterNode(fileNamed: "FireParticles"){ //do anything...

2017-04-15 15:17:19

阅读数:2050

评论数:0

SpriteKit改变Node锚点其物理对象位置不正确的解决

在创建Node的物理对象后,默认情况下物理对象和Node的实际边界对应的很好,因为此时Node的默认锚点是其中心位置即(0.5,0.5),不过如果我们改变了Node的锚点,就会发现其物理边界还是保持原来的位置,这可不是我们想要的结果:let bouncer = SKSpriteNode(image...

2017-04-14 10:27:40

阅读数:1989

评论数:0

Xcode项目横竖屏切换控件元素无法响应用户操作的原因及解决

一个简单的iOS游戏,适配横屏和竖屏.但是窗口最底下的switch按钮在竖屏时表现正常,但是在横屏时虽然可以看到,但无法响应用户的点击.在其上绑定用户Action,还是无法触发!因为switch按钮和其左侧的说明label都放在一个view中以便于做layout限制,所以我们可以不用实际再运行Ap...

2017-04-09 09:56:55

阅读数:824

评论数:0

Xcode中iOS项目目标变为Mac的解决办法

之前改过名称的一个项目,目标设备是iPhone,但是在另一台Mac上打开该工程后发现,竟然变为了Mac项目,而且无法编译和运行.解决办法是打开Scheme管理然后在当前Scheme基础上复制一个新的规划:然后选取新的规划即可!

2017-04-08 19:39:43

阅读数:1268

评论数:2

Xcode工程项目改名的操作步骤

大家知道很多时候我们不想重新建立一个Xcode工程,而是想简单拷贝一个已存在的项目然后改个名字再在此基础上做出一些修改.但是只是简单的改变Xcode工程项目的目录的名字还足够,为了编译构建成功,我们还得做出其他一些修改:首先先改蓝色的project6a这里,然后Xcode会弹出对话框提示是否将新名...

2017-04-08 11:21:51

阅读数:1124

评论数:0

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