开发图书馆模块遇到问题及相关解决

电子书有哪些常见格式?

1.断点下载 使用ASI

AFNetworking与ASIHTTPRequest的区别
iOS开发网络篇之──ASIHTTPRequest详解
iOS网络请求之ASI与AFN的二次封装及意义
ASIHTTPRequest 详解, http 请求终结者

2.图书阅读器

基于CoreText实现的电子书阅读器

3.URL中汉字问题

发现NSString类中有内置的方法可以实现。他们分别是:

- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

只要传入相应的编码即可以进行编码和解码了,不过此方法是对整个Url进行编码的所以如果有Query String中带有&?/等是不会进行编码转换的,如果有这方面的需要的朋友可以参照下面提供的网址,找到解决方法:http://www.cocoachina.com/bbs/read.php?tid-2469.html

示例:

//欢乐颂  Encode
//%E6%AC%A2%E4%B9%90%E9%A2%82
NSString* urlStr = @"欢乐颂";
//汉字编码 %E6%AC%A2%E4%B9%90%E9%A2%82
NSString* encodedString = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

//解码   欢乐颂
NSString* hanziStr = [encodedString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* string1 = @"https://www.cloudsafe.com/文件夹";  

NSString* string2 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

NSString* string3 = [string2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

NSString* string4 = [string2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

NSString* string5 = [string3 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

NSString* string6 = [string4 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

NSString* string7 = [string5 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

输出结果: string5 & 6 重复编码encode  

string1:https://www.cloudsafe.com/文件夹  

string2:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9  

string3:https://www.cloudsafe.com/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25B9  

string4:https://www.cloudsafe.com/文件夹  

string5:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9  

string6:https://www.cloudsafe.com/文件夹  

string7:https://www.cloudsafe.com/文件夹

4. 切换字体崩溃

切换到中圆繁字体:Tensentype-JiaLiZhongYuanF, 发生崩溃
解决:
在项目中添加fan.ttf文件

在info.plist中加入Fonts provided by application
info.plist设置字体.png

你可能感兴趣的:(开发图书馆模块遇到问题及相关解决)