蜜臂av日日欢夜夜爽一区_成人一区二区三区在线观看 _日韩国产欧美三级_成人福利视频网站_石原莉奈在线亚洲二区_国产一区二区三区四区五区美女_国产一区二区三区av电影 _91麻豆福利精品推荐_日韩精品1区2区3区_93久久精品日日躁夜夜躁欧美

十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號 掃一掃關(guān)注
小程序
tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

ios設(shè)計(jì)模式之觀察者模式

百恒網(wǎng)絡(luò) 2017-04-05 5788

上周我們跟隨南昌APP開發(fā)制作公司--百恒網(wǎng)絡(luò)一起學(xué)習(xí)了ios設(shè)計(jì)模式之常用模式和委托模式,今天我們繼續(xù)來學(xué)習(xí)ios設(shè)計(jì)模式之觀察者模式。

觀察者(Observer)模式也叫發(fā)布/訂閱(Publish/Subscribe)模式,是 MVC( 模型-視圖-控制器)模式的重要組成部分。

3.1 問題提出

天氣一直是英國人喜歡討論的話題,而最近幾年天氣也成為中國人非常關(guān)注的話題。我會根據(jù)天氣預(yù)報(bào)決定是坐地鐵還是開車上班,也會根據(jù)天氣預(yù)報(bào)決定明天穿哪件衣服。于是在移動公司為我的手機(jī)定制了天氣預(yù)報(bào)短信通知服務(wù),它的工作模型如圖所示。

定制天氣預(yù)報(bào)短信通知服務(wù)

定制天氣預(yù)報(bào)短信通知服務(wù)

每天氣象局將天氣預(yù)報(bào)信息投送給移動運(yùn)營商,移動運(yùn)營商的短信中心負(fù)責(zé)把天氣預(yù)報(bào)發(fā)送給定制過這項(xiàng)服務(wù)的手機(jī)。

在軟件系統(tǒng)中,一個對象狀態(tài)的改變也會連帶影響其他很多對象的狀態(tài)發(fā)生改變。能夠?qū)崿F(xiàn)這一需求的設(shè)計(jì)方案有很多,但能夠做到復(fù)用性強(qiáng)且對象之間匿名通信的,觀察者模式是其中最為適合的一個。

3.2 實(shí)現(xiàn)原理

觀察者模式的類圖如圖所示。 它有4個角色,具體如下所示。

抽象主題( Subject )。抽象主題是一個協(xié)議,它是一個觀察者集合容器,定義了添加觀察者( attach )方法、移除觀察者( detach )方法和為所有觀察者發(fā)送通知的方法( notifyObserver )。

抽象觀察者( Observer )。抽象觀察者也是一個協(xié)議,它有一個更新( update )方法。

具體觀察者( ConcreteObserver )。 Observer 協(xié)議的具體實(shí)現(xiàn)。

具體主題( ConcreteSubject )。 Subject 協(xié)議的具體實(shí)現(xiàn)。

引入 Subject 和 Observer 這兩個協(xié)議后,不僅提高了系統(tǒng)的可復(fù)用性,還降低了耦合度。觀察者模式還可以有其他變形,若要深入了解,可以參考GoF。

觀察者模式的類圖(上圖為Swift版,下圖為Objective-C版)

觀察者模式的類圖(上圖為Swift版,下圖為Objective-C版)

3.3 通知機(jī)制和 KVO 機(jī)制

在Cocoa Touch框架中,觀察者模式的具體應(yīng)用有兩個——通知(notification)機(jī)制和KVO(Key-ValueObserving)機(jī)制,下面簡要介紹這兩種機(jī)制。

1. 通知機(jī)制

通知機(jī)制與委托機(jī)制不同的是,前者是“一對多”的對象之間的通信,后者是“一對一”的對象之間的通信。

說明:在iOS中,通知一詞多次出現(xiàn)過,歸納一下主要有廣播通知(broadcast notification)、本地通知(localnotification)和推送通知(push notification),本節(jié)介紹的是廣播通知。事實(shí)上,除了名字相似,廣播通知與其他兩個通知完全不同:廣播通知是Cocoa Touch框架中實(shí)現(xiàn)觀察者模式的一種機(jī)制,它可以在一個應(yīng)用內(nèi)部的多個對象之間發(fā)送消息;本地通知和推送通知中的“通知”是給用戶一種“提示”,它的“提示”方式有警告對話框、發(fā)出聲音、振動和在應(yīng)用圖標(biāo)上顯示數(shù)字等。 在計(jì)劃時間達(dá)到時,本地通知由本地iOS發(fā)出。推送通知由第三方程序發(fā)送給蘋果的遠(yuǎn)程服務(wù)器,再由遠(yuǎn)程服務(wù)器推送給iOS的特定應(yīng)用。

如圖所示,在通知機(jī)制中對某個通知感興趣的所有對象都可以成為接收者。首先,這些對象需要向通知中心( NSNotificationCenter )發(fā)出addObserver:selector:name:object: 消息進(jìn)行注冊,在投送對象投送通知給通知中心時,通知中心就會把通知廣播給注冊過的接收者。所有的接收者都不知道通知是誰投送的,更不關(guān)心它的細(xì)節(jié)。

投送對象與接收者是一對多的關(guān)系。接收者如果對通知不再關(guān)注,會給通知中心發(fā)出 removeObserver:name:object:消息解除注冊,以后不再接收通知。

通知機(jī)制圖

通知機(jī)制圖

下面我們介紹一下通知機(jī)制的使用過程。這里我們將7.1節(jié)的模態(tài)視圖案例重新設(shè)計(jì)一下,圖8-15所示,在注冊視圖點(diǎn)擊Save按鈕返回到登錄視圖時,把數(shù)據(jù)回傳給登錄視圖。

模態(tài)視圖案例

模態(tài)視圖案例

登錄視圖控制器 ViewController 作為通知的接收者,注冊視圖控制器 RegisterViewController 作為通知投送對象,如圖所示。

通知機(jī)制圖

通知機(jī)制圖

在ViewController視圖控制器中,注冊通知接收者的代碼如下:

在ViewController視圖控制器中,注冊通知接收者的代碼

NSNotificationCenter 是單例模式,創(chuàng)建和獲得共享實(shí)例的方法是 defaultCenter , NSNotificationCenter 的addObserver:selector:name:object:方法能夠 注冊通知。當(dāng)接收到 AppWillTerminateNotification 通知時,就會調(diào)用handleTerminate: 方法。

解除注冊代碼也類似,通過 NSNotificationCenter 發(fā)出 removeObserver 消息實(shí)現(xiàn)。對于視圖控制器,也可以在didReceiveMemoryWarning 方法中發(fā)出消息,具體代碼如下:

在didReceiveMemoryWarning 方法中發(fā)出消息,具體代碼

ViewController中接收通知的方法是 registerCompletion: ,其代碼如下:

這個方法可以接收一個 NSNotification類型 的參數(shù)。NSNotification 類中有3個重要的屬性: name 、 object 和userInfo ,這3個屬性與通知中心投送方法中的參數(shù)有一定的對應(yīng)關(guān)系,如圖所示。

NSNotification 類和通知中心中投送方法參數(shù)的關(guān)系

NSNotification 類和通知中心中投送方法參數(shù)的關(guān)系

其中 name 是通知的名字, object 是投送通知時傳遞過來的對象, userInfo 是投送通知時定義的字典對象,可借助于該參數(shù)傳遞數(shù)據(jù)。

在 RegisterViewController 視圖控制器中,投送通知的代碼如下:

在 RegisterViewController 視圖控制器中,投送通知的代碼

NSNotificationCenter 的投送方法除了代碼中所示外,還有另外兩個重載方法:

NSNotificationCenter 的投送方法

它們可以投送不帶 userInfo 參數(shù)的通知,我們可以根據(jù)需要進(jìn)行選擇。還要注意的是, object 參數(shù)未必是 self對象,我們可以根據(jù)需要傳遞一個對象,如果接收者不需要,可以將其設(shè)為 nil 。

當(dāng)我們運(yùn)行代碼,從注冊視圖進(jìn)入登錄視圖后,會在日志中輸出回傳回來的 username 參數(shù)。

Cocoa和Cocoa Touch框架都提供一些通知,由系統(tǒng)自動投送。現(xiàn)在修改 ViewController 類添加系統(tǒng)通知:

修改 ViewController 類添加系統(tǒng)通知

修改 ViewController 類添加系統(tǒng)通知

在 viewDidLoad 方法中,第①~②行代碼是系統(tǒng)注冊通知 UIApplicationDidEnterBackgroundNotification (進(jìn)入到后臺通知)和:

UIApplicationWillEnterForegroundNotification (回到前臺通知)。第③~④行代碼是接收通知后的事件處理。

提示 在iOS設(shè)備上可以按Home鍵進(jìn)入后臺,快速按兩次Home鍵可以打開最近使用應(yīng)用列表,點(diǎn)擊應(yīng)用可以使該應(yīng)用重新回到前臺。另外,在Xcode模擬器中沒有Home鍵,點(diǎn)擊Home鍵的操作可以通過組合鍵command+shift+H完成。

除了應(yīng)用生命周期的不同階段有不同的通知外,很多控件也會在某些事件發(fā)生時投送通知,例如UITextField控件。在編輯過程的不同階段,UITextField控件會分別發(fā)出如下通知:UITextFieldTextDidBeginEditingNotification 、 UITextFieldTextDidChangeNotification 和 UITextFieldTextDidEndEditingNotification 。

2. KVO機(jī)制

KVO不像通知機(jī)制那樣通過一個通知中心通知所有觀察者對象,而是在對象屬性變化時通知會被直接發(fā)送給觀察者對象。圖為KVO機(jī)制解析圖。

可以看到,屬性發(fā)生變化的對象需要發(fā)出消息 addObserver:forKeyPath:options:context: 給注冊觀察者,使觀察者關(guān)注它的某個屬性的變化。當(dāng)對象屬性變化時,觀察者就會接收到通知,觀察者需要重寫方法 observeValueForKeyPath:ofObject:change:context: 以響應(yīng)屬性的變化。

KVO機(jī)制圖

KVO機(jī)制圖

下面我們來看一個實(shí)際的案例。我們使用KVO機(jī)制來監(jiān)視應(yīng)用程序的狀態(tài)變化。應(yīng)用程序委托對象

AppDelegate 的 appStatus 屬性是要觀察的屬性。 AppDelegate 的代碼如下:

AppDelegate的代碼

上述代碼中第①行的 appStatus 屬性是需要觀察的屬性,在Swift版中它的定義上必須要加 dynamic,以表示該屬性是在運(yùn)行時動態(tài)派發(fā)的。第②行代碼用于定義觀察者AppStatusObserver , AppStatusObserver 是我們的自定義類,它負(fù)責(zé)觀察 appStatus 屬性的變化。第③行代碼用于創(chuàng)建 AppStatusObserver 對象。

第④行代碼是關(guān)鍵,addObserver:forKeyPath:options:context: 語句告訴觀察者( AppStatusObserver )開始觀察 AppDelegate 的 appStatus 屬性變化,其中參數(shù) addObserver 是觀察者對象; forKeyPath 是被關(guān)注對象的屬性;options 是為屬性變化設(shè)置的選項(xiàng),本例中 New 和 Old 表示把屬性新舊兩個值都傳遞給觀察者,這些值是NSKeyValueObservingOptions 類型的成員; context 參數(shù)是上下文內(nèi)容,它的類型是C語言形式的任何指針類型,

Swift版表示為 UnsafeMutablePointer ,Objective-C版本表示為 void * 。

觀察者 AppStatusObserver 的代碼如下:

觀察者 AppStatusObserver 的代碼

因?yàn)?NSObject 類實(shí)現(xiàn)了 NSKeyValueObserving 協(xié)議,所以只需聲明 AppStatusObserver 繼承了 NSObject 類,而無需實(shí)現(xiàn) NSKeyValueObserving 協(xié)議。

observeValueForKeyPath:ofObject:change:context: 方法的 observeValueForKeyPath 參數(shù)是被關(guān)注的屬性。

ofObject 是被關(guān)注的對象, change 是字典類型,包含了屬性變化的內(nèi)容,這些內(nèi)容與注冊時屬性變化設(shè)置的選項(xiàng)( options 參數(shù))有關(guān)。 context 是注冊時傳遞的上下文內(nèi)容。

第一次運(yùn)行程序到界面時,會有兩個狀態(tài)的變化,日志結(jié)果如下:

第一次運(yùn)行程序到界面時,會有兩個狀態(tài)的變化

如果將應(yīng)用退到后臺,然后再回到前臺,日志結(jié)果如下:

如果將應(yīng)用退到后臺,然后再回到前臺

關(guān)于應(yīng)用程序狀態(tài)變化相關(guān)的內(nèi)容,這里不再解釋。

本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.希望此文對廣大技人員有所幫助。文章出自:南昌APP開發(fā)制作公司--百恒網(wǎng)絡(luò):http://m.51yjwy.com

400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
蜜臂av日日欢夜夜爽一区_成人一区二区三区在线观看 _日韩国产欧美三级_成人福利视频网站_石原莉奈在线亚洲二区_国产一区二区三区四区五区美女_国产一区二区三区av电影 _91麻豆福利精品推荐_日韩精品1区2区3区_93久久精品日日躁夜夜躁欧美
韩国av一区二区三区四区| 免费人成在线不卡| 91在线播放网址| 成人精品在线视频观看| 国产精品一区二区免费不卡| 精品一区二区三区久久| 国产69精品久久777的优势| 成人永久免费视频| 成人美女在线视频| 久久国产精品一区二区| 精品一区二区三区在线观看国产| 成人中文字幕在线| 黄页视频在线91| 三级影片在线观看欧美日韩一区二区| 91蜜桃视频在线| 国产成人8x视频一区二区| 欧美aaaaaa午夜精品| 99久久综合国产精品| 91麻豆swag| 高清不卡一区二区| 国产一区视频在线看| 国产jizzjizz一区二区| 久久69国产一区二区蜜臀| 91麻豆精品视频| 成人av网站在线观看免费| 国产精品影视天天线| 久久99深爱久久99精品| 免费人成网站在线观看欧美高清| 成人福利视频在线看| 国产精品77777| 日韩黄色免费网站| 99国产精品国产精品久久| 丁香婷婷综合五月| 国产成人精品aa毛片| 国模大尺度一区二区三区| 麻豆久久一区二区| 成人激情动漫在线观看| 国产suv一区二区三区88区| 激情欧美一区二区三区在线观看| 久久99热这里只有精品| 久久99精品国产麻豆婷婷洗澡| 日本特黄久久久高潮| 国产成人午夜电影网| 国产精品一区二区三区网站| 国产一区不卡在线| 国产精品影视天天线| 国产另类ts人妖一区二区| 国产精品一二三四| 成人sese在线| 91一区二区在线观看| 91香蕉视频mp4| 日本中文字幕不卡| 精品一区二区三区不卡| 国产在线精品一区二区夜色| 国产精品996| 成人美女在线视频| 日本亚洲欧美天堂免费| 狠狠狠色丁香婷婷综合激情| 国产成人精品免费在线| av资源网一区| 不卡的电视剧免费网站有什么| www.66久久| 三级精品在线观看| 久久99精品国产麻豆婷婷洗澡| 国产一区在线观看视频| 成人精品一区二区三区四区| 日韩高清中文字幕一区| 九色|91porny| 成人sese在线| 美女精品自拍一二三四| 国产91富婆露脸刺激对白| 91在线视频观看| 精品中文av资源站在线观看| 国产高清精品久久久久| 91看片淫黄大片一级| 国内精品免费**视频| aa级大片欧美| 激情都市一区二区| 91免费国产视频网站| 精品亚洲欧美一区| 91原创在线视频| 国产精品一区二区视频| 天堂影院一区二区| 免费av成人在线| 粉嫩一区二区三区在线看| 三级一区在线视频先锋| 国产精一品亚洲二区在线视频| 91色视频在线| 国产成人一区二区精品非洲| 人人超碰91尤物精品国产| 盗摄精品av一区二区三区| 久久精品国产亚洲高清剧情介绍 | 不卡影院免费观看| 久久激情综合网| 91丝袜高跟美女视频| 国产激情偷乱视频一区二区三区| 日本少妇一区二区| www.成人在线| 国产99久久精品| 国产在线观看免费一区| 蜜臀av性久久久久蜜臀av麻豆 | 美女在线观看视频一区二区| 国产99久久久国产精品潘金网站| 欧美96一区二区免费视频| 国产精品18久久久久久久久| 日韩电影一二三区| 国产高清成人在线| 久久精品国产亚洲a| 92精品国产成人观看免费 | 日韩精品亚洲专区| 国产成人av电影| 国产一区二区三区日韩| 蜜桃视频一区二区三区| 91丝袜美腿高跟国产极品老师| 懂色av一区二区夜夜嗨| 国产麻豆精品久久一二三| 精品一区二区综合| 麻豆精品一区二区| 久久成人久久爱| 男女男精品视频| 日本aⅴ精品一区二区三区 | 99热这里都是精品| 成人国产精品免费网站| 成人网男人的天堂| 成人午夜在线视频| 国产福利电影一区二区三区| 国产一区二区在线电影| 国产毛片精品视频| 国产一区二区不卡在线| 国精产品一区一区三区mba桃花| 日本中文在线一区| 免费成人在线视频观看| 免费精品视频最新在线| 久久精品久久久精品美女| 久久精品国产99国产| 激情欧美日韩一区二区| 国产电影精品久久禁18| 成人福利视频在线| 91麻豆精品一区二区三区| 日韩成人免费看| 久久99精品国产| 国产.欧美.日韩| 成人激情午夜影院| 日韩精品国产精品| 九九在线精品视频| 成人性色生活片免费看爆迷你毛片| 成人午夜视频免费看| 91麻豆国产香蕉久久精品| 美腿丝袜亚洲三区| 国产毛片精品视频| 99re这里只有精品首页| 久久精品国产久精国产| 国产99久久久久| 丝袜亚洲另类丝袜在线| 精品午夜久久福利影院 | 青青国产91久久久久久| 精品影院一区二区久久久| 国产成人午夜99999| 99热在这里有精品免费| 久草这里只有精品视频| 成人网在线播放| 毛片av一区二区三区| 国产成人在线电影| 日本在线观看不卡视频| 国产suv精品一区二区6| 青青草成人在线观看| 国产成人8x视频一区二区| 日韩精品一级二级| 国产福利精品导航| 美女视频一区二区| youjizz国产精品| 精品一区二区成人精品| 99免费精品在线| 国产精品亚洲午夜一区二区三区| 91网上在线视频| 国产高清精品网站| 美女高潮久久久| 99精品久久99久久久久| 国产精品一区二区果冻传媒| 日韩成人一级大片| 97精品国产97久久久久久久久久久久| 国产做a爰片久久毛片| 日本欧美在线观看| 91免费观看国产| 成人小视频免费观看| 国产一区二区三区美女| 喷水一区二区三区| 日韩精品乱码免费| 99久久精品免费看| 成人激情小说网站| 高清不卡在线观看| 国产一区二区三区在线观看免费视频| 日本系列欧美系列| 日韩成人精品在线| 91在线视频观看| 波多野结衣精品在线| 国产不卡在线一区| 国产91精品免费| 国产成人精品免费看| 国产精品一色哟哟哟| 极品少妇xxxx精品少妇偷拍| 免费在线视频一区| 免费成人在线影院| 美女www一区二区| 久久精品国产色蜜蜜麻豆| 日韩激情在线观看| 日本欧美在线观看| 美腿丝袜亚洲三区| 久久国产精品区| 久久精品国产99国产| 免费的国产精品| 久久se这里有精品| 黑人精品欧美一区二区蜜桃| 国产一区在线观看麻豆| 黑人巨大精品欧美黑白配亚洲| 黑人精品欧美一区二区蜜桃| 捆绑紧缚一区二区三区视频| 精品在线免费观看| 国产成人一级电影| 不卡视频一二三| 91蜜桃在线观看| 美腿丝袜亚洲三区| 国产在线精品国自产拍免费| 国产东北露脸精品视频| 成+人+亚洲+综合天堂| 91丨九色丨黑人外教| 蜜臀av一区二区| 国产一区二区福利视频| 高清不卡一区二区在线| 91蜜桃免费观看视频| 男女男精品视频| 国产黑丝在线一区二区三区| a亚洲天堂av| 美国欧美日韩国产在线播放| 激情综合网天天干| 成人免费高清视频在线观看| 天堂一区二区在线| 激情国产一区二区| av网站一区二区三区| 麻豆精品视频在线观看| 国产一级精品在线| 91在线精品秘密一区二区| 久久精品国产秦先生| 成人在线综合网| 免费在线看成人av| 丁香激情综合国产| 男男成人高潮片免费网站| 国产精一品亚洲二区在线视频| 成人av网站大全| 精品制服美女丁香| 96av麻豆蜜桃一区二区| 国产一区二区三区四| av高清不卡在线| 国产在线不卡一区| 天堂在线一区二区| 精品一区二区在线视频| 粉嫩一区二区三区在线看| 日本欧美一区二区三区乱码| 国产一区二区三区在线观看精品 | 韩日欧美一区二区三区| 91亚洲精品乱码久久久久久蜜桃| 精品一区二区av| 三级久久三级久久| 夫妻av一区二区| 紧缚捆绑精品一区二区| 91麻豆.com| www.亚洲精品| 国产ts人妖一区二区| 精品在线播放午夜| 日韩国产欧美三级| aaa国产一区| 成人免费视频一区二区| 国模无码大尺度一区二区三区| 日日嗨av一区二区三区四区| 成人网在线免费视频| 国产精品资源在线看| 蜜臀久久99精品久久久久宅男| 99久久精品国产精品久久| 国产不卡免费视频| 国产一区啦啦啦在线观看| 另类的小说在线视频另类成人小视频在线| 成人免费视频视频| 国产成人免费在线观看不卡| 国产一区二区久久| 国产一区二区三区在线观看免费视频| 日韩黄色一级片| 丝袜国产日韩另类美女| 97精品国产露脸对白| 成人免费高清在线观看| 国产成人精品免费一区二区| 国产盗摄精品一区二区三区在线| 国产一区二区日韩精品| 国产麻豆精品95视频| 国产一区中文字幕| 国内成人自拍视频| 国产精品综合在线视频| 国产九色精品成人porny| 国产精品一区二区久久不卡| 国产精品一二三四区| 国产成人亚洲综合a∨婷婷图片| 国产成人免费高清| 成人国产精品视频| 99久免费精品视频在线观看| 91亚洲国产成人精品一区二三| 91美女精品福利| 蜜臀精品久久久久久蜜臀 | 麻豆国产精品777777在线| 麻豆精品一区二区三区| 精品亚洲免费视频| 国产精品一二三四| 成人精品免费视频| 日韩黄色免费电影| 激情丁香综合五月| 国产成人精品一区二| 99热国产精品| 裸体在线国模精品偷拍| 国产馆精品极品| 91在线精品一区二区三区| 美女视频黄免费的久久| 国产乱码精品1区2区3区| 国产999精品久久久久久| 97久久久精品综合88久久| 青青草原综合久久大伊人精品优势| 激情伊人五月天久久综合| 成人精品视频.| 奇米精品一区二区三区在线观看 | 91在线精品秘密一区二区| 免费高清在线一区| 国产成都精品91一区二区三| 97久久超碰国产精品电影| 精品亚洲国产成人av制服丝袜 | 成人激情综合网站| 日本中文一区二区三区| 国产福利一区在线| 日本在线不卡视频一二三区| 国产酒店精品激情| 日本在线不卡一区| 高清不卡一二三区| 久久精品国产精品青草| 成+人+亚洲+综合天堂| 久久丁香综合五月国产三级网站 | 精品亚洲免费视频| www.一区二区| 国产一区二区三区观看| 日韩av网站免费在线| 成人毛片老司机大片| 久久精品国产99国产| 99久久777色| 国产精品99久久久久久似苏梦涵 | 麻豆国产精品视频| 不卡免费追剧大全电视剧网站| 狠狠色狠狠色综合日日91app| 99精品国产91久久久久久| 国产精品911| 精品在线播放午夜| 人人精品人人爱| 97aⅴ精品视频一二三区| 国产成人免费视| 韩国三级电影一区二区| 视频在线观看一区| 99久久亚洲一区二区三区青草| 国产精品一区2区| 极品少妇一区二区| 久久精品国产亚洲高清剧情介绍| 91丨九色丨蝌蚪丨老版| www.性欧美| 成人精品视频.| 国产91精品久久久久久久网曝门 | 日韩综合一区二区| 成人激情文学综合网| 国产1区2区3区精品美女| 国产精品资源网| 国产一区二区三区四区在线观看| 免费不卡在线观看| 奇米一区二区三区av| 日av在线不卡| 日本美女一区二区| 免费成人av在线播放| 奇米精品一区二区三区四区| 日本在线不卡视频| 免费的国产精品| 精品在线你懂的| 国内精品第一页| 国产一区二区免费视频| 国产激情偷乱视频一区二区三区| 国产在线播放一区| 国产成人精品aa毛片| 大桥未久av一区二区三区中文| 高清国产午夜精品久久久久久| 成人午夜电影网站| 91偷拍与自偷拍精品| 日本欧美韩国一区三区| 久久精品免费看| 国产精品亚洲午夜一区二区三区| 国产成人在线网站| 99这里只有久久精品视频| 日本中文字幕一区| 精品一区二区国语对白| 国产成人av资源| 91视视频在线观看入口直接观看www|