分类 Objective-C 下的文章

GB18030(兼容GB2312)编码验证与校正

之前写 APP 抓 GB2312 编码的HTML时候, 发现 HTML 文件里面混了一些非 GB18030(包含GB2312字符集) 字符集的字符。

以下代码出错:

//self.gb18030Encoding = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);

//原页面采用 GB2312 编码
NSString *result = [[NSString alloc] initWithData:data encoding:self.gb18030Encoding];


- 阅读剩余部分 -

Xcode note

插件1

XCode颜色显示插件ColorSense

代码里的那些冷冰冰的颜色数值,到底时什么颜色?如果你经常遇到这个问题,每每不得不运行下模拟器去看看,那么这个插件绝对不容错过。更彪悍的是你甚至可以点击显示的颜色面板,直接通过系统的ColorPicker来自动生成对应颜色代码,再也不用做各种颜色代码转换了!

- 阅读剩余部分 -

View Controller Programming Guide for iOS

Overview

The Role of View Controllers

UIViewController包含了用来管理view、event、transitioning的所有方法和属性。只需要直接集成该class或者其subclass就可以使用。

两类viewcontroller:

  • content view controllers 包含具体内容(包括各种控件)。
  • container view controllers 包含其他viewcontroller。

- 阅读剩余部分 -

File System Programming Guide(iOS)

About

sandbox机制让文件系统使用起来稍微有点不同,特别是访问别的app内容的时候需要取得对应的权限。同时sandbox机制基本明确了文件的存储位置。

该手册涉及内容:

  • sandbox文件系统规范
  • 多线程/进程文件读写(NSFileCoordinatorNSFilePresenter
  • 文件类型及对应的读写方式
  • 使用高级文件系统API
  • 通用文件管理界面(如Open and Save panel
  • 异步读写文件
  • 模仿Finder操作文件
  • 优化文件相关操作
  • 关于File MappingDirectory Localized Name(OS X)在《File System Advanced Programming Topics

- 阅读剩余部分 -

[转]iOS 的多线程同步

转载:iOS 的多线程同步 by zqqf16

我的上一家公司有个引以为豪的技术:多核无锁,不仅避免了各种由锁带来的问题,还极大的提高了性能,所以产品性能能够在业界数一数二。 在这样的氛围影响下,我在开发的时候也很少用锁,能不用就不用。 后来去面试 iOS 开发的时候,面试官总是喜欢问有关于锁的问题,最近趁有时间就整理了一下,算是补充一下技能树吧。

- 阅读剩余部分 -

Threading Programming Guide 4 Synchronization

部分内容来源于:ios多线程同步

Synchronization Tools

Atomic Operations

在多进程(线程)访问资源时,能够确保所有其他的进程(线程)都不在同一时间内访问相同的资源。原子操作(atomic operation)是不需要synchronized。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。通常所说的原子操作包括对非long和double型的primitive进行赋值,以及返回这两者之外的primitive。

需要硬件实现,但是维基说可以用其他锁机制软件实现。

- 阅读剩余部分 -