開發圖書館模組遇到問題及相關解決

weixin_34279579發表於2018-01-17

電子書有哪些常見格式?

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
2710245-8f33e1ef52e86474.png
info.plist設定字型.png

相關文章