iOS6、7、8、9新特性总汇和适配说明 (9)

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];

 

[Format Time: 0.0017 seconds]

现在你可以在任意的UIKit对象上使用NSAttributedString 了,比如说是一个UILabel或是一个UITextField。

注意:NSHTMLTextDocumentType 只是NSDocumentTypeDocumentAttribute key一种可能的值。你还可以使用NSPlainTextDocumentType,NSRTFTextDocumentType或是NSRTFDTextDocumentType。

你还可以从NSAttributedString中创建一个HTML字符串,如下:

Crayon Syntax Highlighter v2.7.1

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];

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];

 

[Format Time: 0.0021 seconds]

现在你估计在app中会更多的使用HTML了。

十五、使用原生的Base64

Base64是使用ASCII码显示二进制数据的一种流行方法。直到现在,开发者还不得不使用开源的工具来编码解码Base64的内容。

现在iOS7引入了以下四种新的NSData方法来操作Base64编码的数据:

Crayon Syntax Highlighter v2.7.1

// From NSData.h

- (id)initWithBase64EncodedString:(NSString *)base64String options:(NSDataBase64DecodingOptions)options;

 

- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)options;

 

- (id)initWithBase64EncodedData:(NSData *)base64Data options:(NSDataBase64DecodingOptions)options;

 

- (NSData *)base64EncodedDataWithOptions:(NSDataBase64EncodingOptions)options;

1

2

3

4

5

6

7

8

 

// From NSData.h

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgywp.html