iOS 開發(fā)常見問題整理 (持續(xù)更新)

  • sdwebimage 無法下載圖片 報403錯誤 檢查請求頭是否加入user-agent,如下:
NSString * userAgent = [NSString stringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)",
                            [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleExecutableKey] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleIdentifierKey],
                            [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleVersionKey],
                            [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion],
                            [[UIScreen mainScreen] scale]];
[[SDWebImageDownloader sharedDownloader] setValue:userAgent forHTTPHeaderField:@"User-Agent"];

github 獲得知識

  • iOS 8下 當(dāng)viewcontroller 下有一個scrollview 并設(shè)置代理為當(dāng)前viewcontroller 滑動過程中退出當(dāng)前頁面時會有崩潰現(xiàn)象,解決方式為 viewcontroller dealloc時 設(shè)置scrollviewdelegatenil

  • 直接設(shè)置contentOffset屬性與 使用contentOffset:animated:的區(qū)別

    如果animated這一參數(shù)設(shè)置為NO,或者直接設(shè)置contentOffset這個property,delegate會收到一個scrollViewDidScroll:消息。如果animated這一參數(shù)設(shè)置為YES,則在整個動畫過程中,delegate會收到一系列的scrollViewDidScroll:消息,并且當(dāng)動畫完成時,還會收到一個scrollViewDidEndScrollingAnimation:消息。

  • swift 弱引用

    weak字符串修飾的即為弱引用對象,并不會引起引用計數(shù)增加,當(dāng)對象被釋放(回收)之后,weak修飾的變量將指向nil,weak引用是一種非常安全的引用方式。ps:weak修飾的類型一定是個可選值類型unowned字符串修飾的也為弱引用對象,但是與weak不同的是,unowned不允許設(shè)置為可選值類型,也不允許nil值的情況。之前的Swift版本,unowned修飾的對象可以正常書寫,只有在運(yùn)行時才會崩潰報錯,在3.0版本編譯器會檢測其修飾的對象是否為nil。

  • hash 與 isEqual

    當(dāng)一個實例作為NSDictionary的key時、作為NSSet的一個元素時,會調(diào)用hash方法

    為了優(yōu)化判等的效率, 基于hash的NSSet和NSDictionary在判斷成員是否相等時, 會這樣做

    • Step 1: 集成成員的hash值是否和目標(biāo)hash值相等, 如果相同進(jìn)入Step 2, 如果不等, 直接判斷不相等
    • Step 2: hash值相同(即Step 1)的情況下, 再進(jìn)行對象判等, 作為判等的結(jié)果

    簡單地說就是

    hash值是對象判等的必要非充分條件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容