Just My Life & My Work

Posts tagged ‘protocol’

QUIC 網路傳輸層協議

由於 App 需要加快連線速度,於是我研究了 QUIC 網路傳輸層協議。基本上,我對底層技術不那麼有興趣,畢竟人家早已決定好,大家都在用且行之有年,開發者還有機會能改變什麼嗎?🤔

不過,倒是可以去了解為何會出現 QUIC,它之所以被發表出來,肯定有其時空背景所催。

QUIC (Quick UDP Internet Connections) 是 Google 提出的新一代傳輸層協定,QUIC 唸作 quick。這說明了整個協定只為了一個目的,盡可能從多個不同層面讓 QUIC 可以更快的建立連線,更快地開始傳送資料,以應對現代許多講求低延遲的應用場景,在試圖降低延遲的時候,往往 TLS + TCP 的限制會成為效能瓶頸。

TCP 協定因為多年的發展還有歷史包袱註定了這個技術不能改頭換面,解決一些設計之初沒有考慮到的缺陷,所以 QUIC 只能另尋他路,將整個協定建構在 UDP 之上。

(繼續閱讀…)

[iOS] 獲取WebView快取中的圖片

由於原生SDK沒有辦法直接獲取UIWebView中已下載的影像,因為想避免重複請求消耗資源避免減損使用者體驗,於是我找到可立馬使用的第三方套件:RNCachingURLProtocol。​雖然發現還要修改才能使用XD~

套件簡介

Simple offline caching for UIWebView and other NSURLConnection clients

WebView的圖片會使用NSURLProtocol來進行快取Cache,此第三方快取圖片會儲存到指定的文件夾,之後可以讀取此指定文件夾來獲取WebView的快取。

(繼續閱讀…)

[iOS] TextView 縮回虛擬鍵盤

我們已經知道如何讓TextField輸入完成讓鍵盤消失,現在想要使TextView 縮回虛擬鍵盤,可以怎麼做呢?

TextView 縮回虛擬鍵盤

TextView設定好delegate,並實作protocol的method如下。當鍵盤升起時,按下Done,即可讓它縮回去~

/**
 Theme: Text View Done Resign First Response
 IDE: Xcode 6
 Language: Objective C
 Date: 104/03/35
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
#pragma mark -
#pragma mark - UITextFieldDelegate
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if ([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
        // Return FALSE so that the final '\n' character doesn't get added
        return NO;
    }
    // For any other character return TRUE so that the text gets added to the view
    return YES;
}

參考:UITextView resign first responder on ‘Done’

標籤雲