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

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

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

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

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

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

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

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

3.1 問題提出

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. 通知機(jī)制

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

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

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

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

通知機(jī)制圖

通知機(jī)制圖

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

模態(tài)視圖案例

模態(tài)視圖案例

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

通知機(jī)制圖

通知機(jī)制圖

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

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

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

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

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

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

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

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

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

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

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

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

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

NSNotificationCenter 的投送方法

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

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

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

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

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

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

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

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

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

2. KVO機(jī)制

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

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

KVO機(jī)制圖

KVO機(jī)制圖

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

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

AppDelegate的代碼

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

第④行代碼是關(guān)鍵,addObserver:forKeyPath:options:context: 語句告訴觀察者( AppStatusObserver )開始觀察 AppDelegate 的 appStatus 屬性變化,其中參數(shù) addObserver 是觀察者對(duì)象; forKeyPath 是被關(guān)注對(duì)象的屬性;options 是為屬性變化設(shè)置的選項(xiàng),本例中 New 和 Old 表示把屬性新舊兩個(gè)值都傳遞給觀察者,這些值是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)注的對(duì)象, change 是字典類型,包含了屬性變化的內(nèi)容,這些內(nèi)容與注冊(cè)時(shí)屬性變化設(shè)置的選項(xiàng)( options 參數(shù))有關(guān)。 context 是注冊(cè)時(shí)傳遞的上下文內(nèi)容。

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

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

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

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

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

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

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

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

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
蜜臂av日日欢夜夜爽一区_成人一区二区三区在线观看 _日韩国产欧美三级_成人福利视频网站_石原莉奈在线亚洲二区_国产一区二区三区四区五区美女_国产一区二区三区av电影 _91麻豆福利精品推荐_日韩精品1区2区3区_93久久精品日日躁夜夜躁欧美
99精品国产视频| 国内精品免费在线观看| 成人h动漫精品一区二区| 91农村精品一区二区在线| 99国产精品久久久| 狠狠久久亚洲欧美| 91麻豆6部合集magnet| 国产精品一卡二| 日本sm残虐另类| www.亚洲色图.com| 国产真实乱对白精彩久久| 成人精品在线视频观看| 国产一区二区三区免费| 日韩精品一区第一页| 大陆成人av片| 国产美女av一区二区三区| 日本欧美在线看| k8久久久一区二区三区| 国产精品1024| 国产一区二区调教| 精品一区二区久久| 久久超碰97人人做人人爱| 日本系列欧美系列| 日韩成人一区二区三区在线观看| 波多野结衣一区二区三区 | 免费人成黄页网站在线一区二区| 国产成人亚洲综合a∨婷婷图片| 毛片av一区二区| 视频一区视频二区中文字幕| 国产盗摄女厕一区二区三区| 国产曰批免费观看久久久| 久久99最新地址| 蜜臀久久99精品久久久久宅男| 99精品欧美一区二区三区小说| 成人手机电影网| 成人性生交大片免费| 国产河南妇女毛片精品久久久| 久久99蜜桃精品| 久久国产精品99精品国产| 免费成人在线观看视频| 麻豆精品新av中文字幕| 久久精品国产77777蜜臀| 麻豆精品国产传媒mv男同| 日本vs亚洲vs韩国一区三区二区| 美国av一区二区| 精东粉嫩av免费一区二区三区| 久久99精品国产麻豆婷婷洗澡| 久久精品国产免费看久久精品| 久久国产精品无码网站| 国产一区二区三区免费| 成人国产电影网| 日本成人中文字幕| 捆绑紧缚一区二区三区视频 | 国产高清精品网站| 国产成人综合在线| 成人免费黄色在线| 日日欢夜夜爽一区| 精品系列免费在线观看| 国产精品乡下勾搭老头1| 菠萝蜜视频在线观看一区| 日韩精品一二三四| 狠狠色丁香九九婷婷综合五月| 国产精品一卡二卡| 99国产精品99久久久久久| 免费xxxx性欧美18vr| 国产一区视频在线看| aaa欧美色吧激情视频| 日韩和的一区二区| 狠狠色丁香婷婷综合| 不卡视频在线观看| 久久国产精品区| 99久久婷婷国产精品综合| 久久精品噜噜噜成人av农村| 丁香六月久久综合狠狠色| 美女在线一区二区| 成人久久视频在线观看| 精品一区二区三区视频在线观看| 国产a精品视频| 捆绑调教一区二区三区| 99精品视频一区二区| 国产精品一区二区无线| 日韩av一级片| 成人一级片在线观看| 精品一区二区三区香蕉蜜桃| 视频一区国产视频| 丁香一区二区三区| 国产精品自产自拍| 麻豆91精品视频| 三级成人在线视频| 99re66热这里只有精品3直播| 狠狠色丁香婷综合久久| 美腿丝袜亚洲综合| 免费欧美日韩国产三级电影| 99久久99精品久久久久久| 国产精品系列在线观看| 久久成人综合网| 男人的天堂亚洲一区| 91色在线porny| 成人一道本在线| 大胆亚洲人体视频| 国产精品77777| 久久精品国产一区二区三| 日产欧产美韩系列久久99| av中文字幕亚洲| 成人aaaa免费全部观看| 国产精品一区二区视频| 国产盗摄一区二区三区| 国产乱人伦偷精品视频不卡| 久草在线在线精品观看| 老司机免费视频一区二区三区| 日韩电影在线观看网站| 日韩电影一区二区三区四区| 97久久超碰精品国产| 99免费精品视频| 99re成人在线| 人人精品人人爱| 日本视频一区二区三区| 免费高清在线视频一区·| 蜜臀99久久精品久久久久久软件 | 秋霞电影网一区二区| 99久久er热在这里只有精品15| www.日韩大片| 99精品久久只有精品| 92精品国产成人观看免费 | 激情综合五月婷婷| 国产一区二区调教| 国产福利视频一区二区三区| yourporn久久国产精品| 日韩vs国产vs欧美| 国产一区三区三区| 成人精品小蝌蚪| 99久久精品99国产精品| 日本色综合中文字幕| 国内不卡的二区三区中文字幕| 国产美女精品一区二区三区| 成人v精品蜜桃久久一区| 99re这里都是精品| 久久精品国产在热久久| 国产iv一区二区三区| 日日夜夜精品视频免费| 国产一区二区视频在线播放| av电影在线观看不卡| 青草av.久久免费一区| 国产一区二三区| 91小视频在线| 精一区二区三区| av爱爱亚洲一区| 韩国成人精品a∨在线观看| 国产成人免费av在线| 91啪亚洲精品| 国产91丝袜在线播放九色| 日韩精品乱码免费| 国产裸体歌舞团一区二区| 91免费观看在线| 国产精品99久| 麻豆极品一区二区三区| 波波电影院一区二区三区| 久久精品久久久精品美女| 成人精品视频.| 久久99精品国产91久久来源| 99久久精品免费看国产| 国产一区视频在线看| 人禽交欧美网站| 成人短视频下载| 久久精品av麻豆的观看方式| 99精品欧美一区二区三区小说 | 成人毛片在线观看| 黄色小说综合网站| 蜜桃视频第一区免费观看| 成人精品亚洲人成在线| 国产美女在线精品| 久久99久国产精品黄毛片色诱| gogo大胆日本视频一区| 国产麻豆精品theporn| 久久精品国产精品亚洲红杏| 99re这里都是精品| 成人aaaa免费全部观看| 国产成人aaaa| 国产真实乱子伦精品视频| 免费在线看成人av| 91老师片黄在线观看| 成人污污视频在线观看| 国产福利一区二区三区视频在线 | 国产成人精品影院| 激情成人午夜视频| 免费观看日韩电影| 人禽交欧美网站| 日本在线不卡视频一二三区| 成人高清视频免费观看| 成人午夜激情视频| 成人av免费在线播放| 成人网男人的天堂| av影院午夜一区| www.欧美日韩| 99视频热这里只有精品免费| 粉嫩av一区二区三区粉嫩| 国产不卡免费视频| 成人免费的视频| 97aⅴ精品视频一二三区| 99re视频精品| 日韩电影一二三区| 久久99这里只有精品| 狠狠久久亚洲欧美| 国产盗摄一区二区三区| 成人黄色网址在线观看| 91免费国产视频网站| 青青草97国产精品免费观看 | 国产福利91精品| 成人手机在线视频| 91免费看片在线观看| 日韩av高清在线观看| 毛片一区二区三区| 国产乱码字幕精品高清av| 丰满岳乱妇一区二区三区| av一区二区三区| 麻豆精品精品国产自在97香蕉| 精品一区二区三区在线观看| 国产成人在线免费| 97精品电影院| 久久99精品久久久久久久久久久久 | 激情综合一区二区三区| 国产成人aaaa| 日韩电影一二三区| 韩国av一区二区三区在线观看| 国产高清精品在线| 天堂精品中文字幕在线| 久国产精品韩国三级视频| 成人一级片网址| 日本成人在线电影网| 国产一区二区三区在线观看精品 | 丁香亚洲综合激情啪啪综合| 99国产精品久久久久| 美女mm1313爽爽久久久蜜臀| 国产成人免费在线观看| 91丨九色丨尤物| 精品一区二区三区蜜桃| 成人av综合在线| 久久精品国产77777蜜臀| 不卡的av电影| 国内精品在线播放| 99久久国产综合色|国产精品| 久久99精品国产91久久来源 | 国产精品主播直播| 91老师国产黑色丝袜在线| 精品一区二区三区在线视频| 成人精品免费视频| 极品少妇xxxx精品少妇| 丝袜诱惑制服诱惑色一区在线观看| 激情综合色综合久久综合| 99久久伊人精品| 狠狠狠色丁香婷婷综合激情| 日韩国产欧美在线观看| 成人一区二区三区在线观看| 久久超碰97人人做人人爱| 天堂av在线一区| 成人黄页在线观看| 国产一区999| 老汉av免费一区二区三区| 91免费观看在线| 99精品视频在线播放观看| 成人性生交大片免费看中文| 韩国三级电影一区二区| 免费观看在线色综合| 成人免费视频免费观看| 国产一区二区在线视频| 久久精品国产久精国产爱| 日韩**一区毛片| 日韩高清不卡在线| 91色视频在线| av在线这里只有精品| 成人福利视频在线看| 成人丝袜18视频在线观看| 国产精品资源网| 国产精品一区免费在线观看| 激情欧美日韩一区二区| 激情深爱一区二区| 激情五月激情综合网| 九九国产精品视频| 久久国产精品第一页| 精品在线播放免费| 国产剧情一区在线| 国产99一区视频免费| 国产电影一区二区三区| 大白屁股一区二区视频| 高清成人在线观看| 国产98色在线|日韩| 国产91精品精华液一区二区三区| 国产精品一区二区久久不卡| 国产99久久久国产精品免费看| 国产精品亚洲午夜一区二区三区| 国产一区二区精品久久91| 国产高清成人在线| 成人av片在线观看| 日韩成人伦理电影在线观看| 久久国产精品99精品国产 | av一区二区三区黑人| 99v久久综合狠狠综合久久| 91在线国产福利| 欧美aaaaaa午夜精品| 精品无人码麻豆乱码1区2区| 国产一区二区三区久久悠悠色av| 国产精品白丝jk黑袜喷水| 岛国av在线一区| 日韩激情视频网站| 国产一区福利在线| youjizz久久| 麻豆国产精品官网| 国产成人超碰人人澡人人澡| av综合在线播放| 久久99精品久久久| 成人激情小说网站| 老司机午夜精品99久久| 成人亚洲一区二区一| 免费成人美女在线观看.| 国产精品亚洲第一区在线暖暖韩国| av成人老司机| 黄页视频在线91| 91香蕉视频mp4| 国产自产视频一区二区三区| www.亚洲国产| 韩国一区二区视频| 91在线视频网址| 国产精品一级黄| 日本成人在线电影网| 国产成人aaaa| 久久99深爱久久99精品| 99天天综合性| 国产精品一区二区91| 日本女人一区二区三区| 成人美女视频在线看| 美女国产一区二区| 99久久精品国产网站| 国产盗摄视频一区二区三区| 美女网站在线免费欧美精品| 成人午夜视频在线| 国产一区二区免费在线| 欧美aaa在线| 91免费看`日韩一区二区| 成人天堂资源www在线| 国模少妇一区二区三区 | 国产成人av电影在线| 美女mm1313爽爽久久久蜜臀| 99久久精品国产一区二区三区| 国产乱码精品一区二区三区忘忧草| 日本成人中文字幕| 91麻豆蜜桃一区二区三区| 国产福利一区二区三区在线视频| 老司机免费视频一区二区三区| 99re6这里只有精品视频在线观看| 国产成人一区二区精品非洲| 久久av老司机精品网站导航| 日韩电影免费在线| 91免费在线看| 99久久久免费精品国产一区二区 | 麻豆视频观看网址久久| 99久久国产综合精品麻豆| 丁香婷婷综合五月| 国产不卡一区视频| 国产a区久久久| 国产精品一区二区免费不卡| 狠狠色丁香婷综合久久| 狠狠色伊人亚洲综合成人| 久久精品国产精品亚洲综合| 秋霞影院一区二区| 日本va欧美va精品| 日本不卡一区二区三区高清视频| 91欧美激情一区二区三区成人| 91在线观看下载| 日本最新不卡在线| 麻豆成人久久精品二区三区红 | 91偷拍与自偷拍精品| 91免费看片在线观看| 99国产精品国产精品毛片| 99v久久综合狠狠综合久久| 91美女在线观看| 丝袜美腿亚洲一区二区图片| 日韩精品成人一区二区三区| 91麻豆视频网站| 麻豆久久久久久| 国产麻豆成人精品| 成人禁用看黄a在线| 91老师国产黑色丝袜在线| 奇米色一区二区三区四区| 久久精品国产一区二区三区免费看| 久久99国产精品久久99| 国产精品99久久久久| www.亚洲人| 青青草国产成人av片免费| 黑人巨大精品欧美一区| 国产91精品一区二区麻豆亚洲| 99久久精品国产精品久久| 美女精品自拍一二三四| 国产成人在线视频网站| 91在线国内视频| 国内精品国产成人| 北岛玲一区二区三区四区| 日本aⅴ精品一区二区三区| 国产精品综合一区二区三区| 92国产精品观看| 国产一区二区三区免费看|