tripleCC's Blog


  • 首页

  • 归档

  • 标签

  • 关于

Swift源码阅读Runtime

发表于 2015-12-07 | 分类于 swift |

Swift开源之后,虽然大部分代码对于作为应用程序猿的我来说,花费大量时间去阅读,性价比有点不高,但是阅读下Foundation,学习学习Swift的编码范式还是不错的。

NSEnumerator.swift

1.遵循多个约束

其中范型NSGeneratorEnumerator定义如下:

1
2
3
4
5
6
7
8
9
10
internal class NSGeneratorEnumerator<Base : GeneratorType where Base.Element : AnyObject> : NSEnumerator {
var generator : Base
init(_ generator: Base) {
self.generator = generator
}

override func nextObject() -> AnyObject? {
return generator.next()
}
}

上面有一点,就是范型类型的约束:遵守协议GeneratorType,并且是AnyObject类型。这个上次写的时候忘了,刚好这次记下这种写法。

阅读全文 »

iOS知识碎片三

发表于 2015-12-07 | 分类于 碎片系列 |

1、NSSetUncaughtExceptionHandler注册捕获错误无法调用

2、自定义提示宏

3、frame和bounds

4、Swift中inout和C/C++中指针/引用的区别

5、获取UICollectionView的高度

阅读全文 »

Git开发流程

发表于 2015-11-05 | 分类于 git |

使用Git开发总结

现在很多互联网公司都是通过分布式的Git进行代码管理,SVN则逐渐被淘汰了。以下就是自己在Git开发中的流程与注意点:

1、所有人fork一份 project, 在自己的repository上开发,开发完成后向 project 提 pull request.

2、如果遇到需要多人共同开发的比较大的项目,可以细分为个人完成的小项目,在各自 repository 上完成后 pull request.

3、尽量保持每天至少 pull request 一次。如果功能一天不能完成,则每天抓取 project最新的版本 merge 并解决冲突,保证每次最终 pull request 的冲突减到最少。

4、尽量保证提交前能看一遍每行改动 (如果使用 SourceTree, 可以看到对于每一行的改动,并选择是否提交/回滚这行的改动),确保每行都是必要的。

5、另外,iOS 项目中有一些 .gitignore 也无法忽略的文件,比如 project.pbxproj 和 *.xcodecheckout,需要每次手动来忽略其中的改动,务必确保这些文件内所有改动的行都是必要的,除非特殊情况不要提交其中的 PROVISIONING_PROFILE 和 Build Settings 相关的改动。

阅读全文 »

Octopress因为Ruby版本出现push不生效问题

发表于 2015-11-01 | 分类于 blog |

使用Octopress提交改的博客配置,但是发现配置并没有生效,然后本地预览也报以下错误:

1
Errno::ENOENT: No Such File or Directory - Jekyll

上网搜了下资料,已经有人遇到过了Errno::ENOENT: No Such File or Directory - Jekyll ~ Octopress and El Capitan

原因是OS-X升级到10.11,需要的ruby版本已经不是2.0.0了。执行ruby -v查看ruby版本:

1
2
tripleCC:~ songruiwang$ ruby -v
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]

下载2.2.3即可以解决问题。

阅读全文 »

iOS知识碎片二

发表于 2015-09-30 | 分类于 碎片系列 |

1、UITableView点击Cell不触发tableView: didSelectRowAtIndexPath:问题

2、高德、百度地图定位不准确问题

3、tableView在Group模式下section从1开始

4、UIActionSheet和UIAlertView出现边角抖动情况

5、WKWebView开启新页面时无法跳转

阅读全文 »

PHP后台编程初探

发表于 2015-09-26 | 分类于 php |

这一个星期主要需要理解的代码主要是实现这样的一个功能:

这是一个分类网站的雏形,主要针对的是面向对象的应用和思想。

阅读全文 »

翻译篇:实现Twitter个人详情动态效果

发表于 2015-09-07 | 分类于 ios |

原文由ariok发表,地址是implementing-the-twitter-ios-app-ui

效果图如下:

原来作者的代码会存在一个Bug:

当快速下拉时,个人头像并不会立刻显示在HeaderView上方,我已经向作者提交了Pull requests

编译过程中会发生错误,因为swift更新了,所以需要自己解决下错误。

阅读全文 »

iOS知识碎片一

发表于 2015-09-05 | 分类于 碎片系列 |

学习工作中总会有那么几个注意点和困惑点,这些琐碎的知识点容易让我迷惑,所以决定做这么一个纪录,希望能持之以恒,积少成多

  1. 解决同时设置阴影和裁剪,阴影消失问题
  2. swift中使用字符串创建类及错误处理
  3. swift中回调函数设置作用域注意
  4. 可视化界面调整图片拉伸
  5. AFNetworking出现SSL错误
    阅读全文 »

RunLoop基础元素解析

发表于 2015-09-04 |

深入理解RunLoop这篇文章写的很好,以下为自己在阅读此文时的试验摘录!

简介

RunLoop顾名思义,就是运行循环的意思。

基本作用:

  • 保持程序的持续运行
  • 处理App中的各类事件(触摸事件、定时器事件、Selector事件)
  • 节省CPU资源,提高程序性能:没有事件时就进行睡眠状态

内部实现:

  • do-while循环,在这个循环内部不断地处理各种任务(Source\Timeer\Observer)
    阅读全文 »

UITableView右侧滚动标签

发表于 2015-09-01 | 分类于 ios |

看到有些APP在tableView右侧增加了一个滚动标签,并且显示滑条所指向的cell的部分数据。这里写下自己的想法,实现还是简单的。

效果图



阅读全文 »

1…567
tripleCC

tripleCC

ʕ•̫͡•ʔ-̫͡-ʕ•͓͡•ʔ-̫͡-ʕ•̫͡•ʔ-̫͡-ʕ•͓͡•ʔ-̫͡-ʔ

68 日志
18 分类
63 标签
GitHub 简书 Twitter StackOverflow E-Mail
© 2021 tripleCC
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4