Fire Studio

记录,学习,成长


  • 首页

  • 分类

  • 归档

  • 标签

  • 链接

Swift 下 OpenGL 截图容易导致的内存泄露

发表于 2016-03-11 | 分类于 Swift | | 阅读次数

由于业务需求,需要对两个(现在是三个了)中的一个 OpenGL 渲染的视图进行截图并增加模糊效果。开始用传统的方法进行截图,但是失败了(截取的是黑屏还是空白,忘记了。。。),后来意识到这个和一般的视图应该是不一样的,就到 Google 上搜了一下。由于没怎么玩过,又不怎么懂,就直接翻译成 Swift 了。开始是没发现什么问题的,都是但是到后来发现截图总是其中一个的(看那个先出来,基本上不是想要的那个),而不是想要的那个。

仔细研究后发现,OpenGL 的截图是根据 RenderBuffer 来截取的,由于没有指定 RenderBuffer 所以截取的图只是其中某一个。知道了这个也没用,由于这个 View 用的是第三方库,所以不知道这个 View 的 RenderBuffer。。。后果经过 Debug,发现这个 View 有个 _colorRenderBuffer 属性,这就好办啦~。经过改造后代码如下:

阅读全文 »

从 Octopress 迁移到 Hexo 后的一些遗留问题

发表于 2016-03-03 | 分类于 Other | | 阅读次数

上周我讲自己的博客从 Octopress 迁移到了 Hexo,感觉还是很不错的,但是由于Octopress 和 Hexo 存在一些差别,所以导致了如下三个问题:

  1. 以前 Octopress 的网址是包含 /blog/ 的,迁移之后没了,这样会导致由搜索引擎(搜索引擎更新还是很不及时的)的链接和外网引用的链接点过来会跳到404页面
  2. 生成的网址区分大小写了,以前全部是小写的,这会导致以前的小写链接无法打开相应的页面(如 categories/xcode,现在是 categories/Xcode)
  3. 之前的一些文件遗失了(其实也就一个)

今天就来说一下我是怎么解决这三个问题:

阅读全文 »

从 Octopress 迁移到 Hexo

发表于 2016-02-26 | 分类于 Other | | 阅读次数

很久没写过日志了,原因没有别的,实在是鄙人太!懒!了!自己也想不能继续懒下去,所以决定改变从这里开始,先换个静态博客生成系统吧。好吧~,换系统其实和这个没多大关系,主要是因为 Octopress 已经 N 久没有更新了,还有就是对于一个 N 久没有写过博客的人来说,再用 Octopress 需要重新熟悉一下,相比之下 Hexo 就简单多了,还有就是据说生成速度上 Octopress 要比 Hexo 慢一大截。下面介绍一下 Mac 下 Hexo 的安装过程吧~

阅读全文 »

在Swift中创建完美的单例模式

发表于 2014-10-15 | 分类于 Swift | | 阅读次数

Swift 发布没多久学了一点 Swift 之后我就想过一个问题:Objective-C 中的单例在 Swift 中怎么实现呢?后面也搜过一些相关的资料,比如 StackOverflow 上有个问题 dispatch_once singleton model in swift ,答案中给了几种实现方法,但我总觉得很不完美,主要有以下两点不足(个人意见):

阅读全文 »

如何运用更聪明的办法进行Core Data数据迁移

发表于 2014-04-04 | 分类于 iOS , Core Data | | 阅读次数

这一段时间一个Core Data数据迁移的问题快把我搞死了,上面给的压力也非常大。先说一下来龙去脉吧~

第一次犯错

首先以我为主程的一个应用(绝大部分代码是我写的)由于之前数据库设计的不合理导致应用总是无规律可循的崩溃。这个问题一直存在了好几个月,怎么研究都是无果。后来直到看到Stack Overflow上Core Data: EXC_BAD_ACCESS accessing relationship的帖子(后来还看到这个Semantic Issue: Property’s synthesized getter follows Cocoa naming convention for returning ‘owned’ objects)才意识到自己的愚蠢和无知!我忘记了Objective-C的属性名(Core Data中包括属性名和关系名)不能以new打头,否则就违反了Objective-C的内存管理策略。

请记住:尽量不要使用以alloc、new、copy和mutableCopy等打头的属性名、关系名和方法名,如果必须使用请在声明中使用NS_RETURNS_RETAINED或NS_RETURNS_NOT_RETURNED,否则会导致内存管理问题!!!

阅读全文 »

iOS下如何播放GIF动画

发表于 2014-01-17 | 分类于 iOS | | 阅读次数

几个月前无意中看到StackOverFlow上的一个帖子How to get suitable CGImage from combined TIFF for display scale了解到了ImageIO这个框架,看到它可以读取TIFF中的单张图片,当时就想能不能读取GIF中的图片呢?后来进一步研究后发现答案是肯定的。后来就想哪天细研究一下吧,顺便写篇博客记录一下。没想到我是这么的懒~,昨天才终于研究好了顺便写了个项目WYZGIFAnimationView开源到了Github上。

阅读全文 »

如何让你的iOS7应用支持键盘快捷键

发表于 2013-12-26 | 分类于 iOS | | 阅读次数

最近买了个罗技的光能无线键盘(K760)用来连接我的iOS设备,但是发现iOS所支持的快捷键太少了(特别是iPhone),而iPad也仅有那几款应用支持那可怜的几个快捷键。这使得我感觉iOS设备用键盘如同鸡肋。。。因为打字什么的还是要手点。

记得之前了解到iOS 7的UIResponder新增了keyCommands方法,于是今天就研究了一下API文档并且测试了一下,感觉真是太棒了~

下面介绍一下如何让应用支持外接键盘的快捷键,其实很简单!

阅读全文 »

如何在博客中插入Liquid模板变量

发表于 2013-01-23 | 分类于 Other | | 阅读次数

上周写了一篇博客《让Octopress在新标签页中打开外链》,里面嵌入了一段代码,但是里面有一个模板变量{{ root_url }}却怎么也显示不出来~,后来在Octpress的Issues页面问了一下才知道如何才能不把那些用来显示的代码块中的变量不被解析,具体看https://github.com/imathis/octopress/issues/941#issuecomment-12206038或者Stack Overflow的How to escape liquid template tags?

如何高效的使用XCode

发表于 2013-01-23 | 分类于 Xcode | | 阅读次数

上周看了WWDC 2012的Session 402 - Working Efficiently with Xcode,顺便记了一些笔记。看了之后才注意到很多Xcode的快捷键和特性都没用过或者说没想到过用~,平时用的太死板,只是用了+R之类的快捷键。现在把上周整理的笔记贴上来吧~

阅读全文 »

让Octopress在新标签页中打开外链

发表于 2013-01-13 | 分类于 Other | | 阅读次数

今天发现Octopress一个小小的问题,就是无法将外链在新窗口中打开。于是就自己写了一小段javascript代码轻易的解决了这个问题。

阅读全文 »
12
Yozone W.

Yozone W.

iOS Developer

12 日志
6 分类
9 标签
RSS
GitHub Twitter Weibo
© 2013 - 2017 Yozone W.
由 Hexo 强力驱动
主题 - NexT.Mist