Alvin's Blog

NSAttributedString 计算高度的天坑…

苹果对富文本的支持越来越完备, 在iOS7中更好地支持HTML了,现在你可以用NSAttributedString来展示HTML的内容.

尝试使用NSHTMLTextDocumentType展示HTML吧:

1
2
3
4
5
6
7
NSString *html = @"<bold>Wow!</bold> Now <em>iOS</em> can create <h3>NSAttributedString</h3> from HTMLs!";
NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};

NSAttributedString *attrString = [[NSAttributedString alloc] initWithData:[html dataUsingEncoding:NSUTF8StringEncoding]
                                                                  options:options
                                                       documentAttributes:nil
                                                                    error:nil];

同样你也可以通过NSAttributedString获得HTML文本:

1
2
3
4
5
NSAttributedString *attrString; // from previous code
NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};

NSData *htmlData = [attrString dataFromRange:NSMakeRange(0, [attrString length]) documentAttributes:options error:nil];
NSString *htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];

但是再享受NSAttributedString带来方便的同时,我们也会遇到些令人头痛的小麻烦…

[译文]NSCoding / NSKeyedArchiver

NSHipster是非常优秀的关于Objective-C和Cocoa的技术博客,作者是Mattt Thompson大神,我参与翻译了其中部分文章,你也可以在NSHipster中文版找到更多译文。

在构建应用程序时,一个重要的架构决策问题是在每次启动之间如何持久化数据。问题是如何精准的重现最后一次关闭应用前的状态;如何描述对象图以使下次完美地重新构建。

苹果审核给你判的那些罪

提审容易, 开发不易, 且搞且珍惜…

身为iOS开发者,我们都难免会与苹果审核(iTunes Store Team)打交道.

但是这个神秘的组织又是个黑盒,我们没办法直接接触到.

然而他们又掌握着App的生杀大权.

所以决定把一些提审被拒的心路历程收集于此.方便日后提审的时候做个CheckList.