精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C++開發者快速學習Objective-C語言核心語法

移動開發 iOS
本文將Objective-C討論了語言的核心語法。將詳述一些具體的語法。正如你期待的一樣,涉及到了定義和類內存管理 等。

本文將Objective-C討論了語言的核心語法。這部分開始詳述一些具體的語法。正如你期待的一樣,涉及到了定義和類。

51CTO推薦專題:iPhone應用程序開發初探

類并不是特殊的

在Smalltalk中,類是具有一些特性的對象。在Objective-C中也一樣。一個類是一個對象,對象回應消息。Objective-C和C++都分離了對象分配和初始化。

在C++中,對象分配通過新的操作。在Objective-C中,這樣的操作是通過給類發送分配消息—調用malloc()或者一個等價。

C++中的初始化是通過調用一個與類同名的函數。Objective-C并沒有區別初始化方法和其他方法,但出于慣例缺省的初始化方法就是初始化。

當你聲明一個方法讓實例去回應,聲明通常已“-”開頭,并且“+”用作類的方法。在文檔中對這些消息使用一些前綴是很普遍的,所以你也可以說+alloc和-init來暗示alloc是傳給一個類,init傳給實例。

類在Objective-C中,正如在其他一些面向對象語言,都是對象工廠。大多數類不用自行實現+alloc,而是從他們的父類中繼承。在NSObject中,父類在大多數Objective-C程序中,+alloc方法調用+allocWithZone:.使NSZone作為一個參數,一個C結構包含對象分配的一些策略。回顧19世紀80年代,當Objective-C用在NeXTstep來實現設備驅動和只有8MB內存25MHZ的CPU機器的GUI上面時,NSZone對優化非常重要。同時,這或多或少的被Objective-C程序員所忽視。(很有可能成為象NUMA構架一樣流行,更普遍。)

眾多優秀的特性之一就是對象創建語義是由庫定義的并且語言不是類簇的思想。當你傳一個-init消息給對象時,它返回一個初始化對象。這可能是你發送消息的那個對象,但不一定肯定就是。這和其他初始化程序一致的。很有可能一些公共類的特殊子類在不同數據上更有效。

實現這個特性的通用方法叫做isa-swizzling。正如我前述,Objective-C對象是C結構,這些結構***個元素是指向類的指針。這個元素是可存取的,正如其他實例變量一樣;你可以在運行時通過分配新值來改變對象的類。當然,如果你對對象的類設置在內存中有著不同的布局,這些設置可能嚴重錯誤。

然而,你可以通過一個父類來定義布局和通過子集的集合定義行為,舉例來說,這個技術用在標準化字符串類(NSString),它對不同的文本字符集、靜態事物和其它一些有著各種各樣的實例。

因為類是對象,你可以象操作對象一樣操作他們。舉例來說,你可以把他們放在集合。當我有一些輸入事件需要通過不同的類的實例來處理時我就使用這種格式。你需要創建一個目錄映射事件命名到類,然后為每一個輸入事件實例化一個對象。如果你在一個庫中這么做,它允許代碼的使用者輕松的注冊屬于他們自己的句柄。

類型和指針

Objective-C沒有公開允許在堆棧上定義對象。但并不是真的—很有可能在堆棧上定義對象,但有些困難,因為它破壞了對內存管理的一種假設。結果,每一個Objective-C對象都是一個指針。一些類型由Objective-C定義;這些類型在頭部定義作為C類型。

在Objective-C中最普遍的3種類型就是id,Class和SEL。id就是指向Objective-C對象的指針,它等價于C語言中的void*,你可以映射任何對象指針類型指向它并且映射他指向其它的對象指針類型。

你可以傳任何消息給id,但如果不支持的話會返回一個運行時異常。

類是指向Objective-C類的指針。類是對象,所以也可以接收消息。類名是一種類型,不是可變的。標識符NSObject是一個NSObject實例的類型,但也可作為消息接受者。你可以獲得一個類,如下:

  1. [NSObject class];  
  2.  

發送一個+class消息給NSObject類,然后返回一個指向代表類的類結構指針。

這對我們回顧是非常有用的[FS:PAGE],正如我們在這個系列第二部分看到的一樣。

第三種類型SEL,代表一個選擇器—一個代表方法名的抽象。你可以在編譯時通過@selector()直接創建,或在運行時通過C字符串調用運行時庫函數,或用OpenStep NSSelectorFromString()函數,這個函數給Objective-C字符串一個選擇器。這個技術允許你通過名字調用方法。你可以在C中通過使用類似dlsym(),但在C++中非常不同。在Objective-C中,你可以做的如下:

  1. [object perfomSelector:@selector(doSomething)];  
  2.  

這等價于如下:

  1. [object doSomething];  
  2.  

顯然,第二種格式速度稍微快些,因為***種傳送兩個消息。后面,我們會看到通過選擇器處理的一些細節。

C++沒有與id相同的類型。因為對象總是可以類型化的。在Objective-C,你可以選擇類型系統。下面的兩種都是有效的:

  1. id object = @”a string”;  
  2.  
  3. NSString *string = @”a string”;  
  4.  

常量字符串實際上是NSConstantString類的一個實例,NSConstantString類是NSString的子類。將它引用到NSString* 使編譯時對消息進行類型檢查和存儲公共實例變量(這在Objective-C從未使用過)。注意你可以通過如下改變這一設置:

  1. NSArray *array = (NSArray*)string;  
  2.  

如果給數組發送消息,編譯器將會檢查NSArray能接收的消息。這并不是非常有用,因為對象是一個字符串。如果發送一個NSArray和NSString實現的消息,可能會有作用。如果你發送的消息NSString沒有實現,一個異常將會拋出。

強調Objective-C和C++的不同的這件事看起來比較奇怪。Objective-C有類型-值語法,而C++有類型-變量語法。在Objective-C,對象類型是對象專有的一種屬性。在C++,類型取決于變量的類型。

在C++中,當你指派一個指針指向一個對象到一個變量定義一個指向父類的指針,兩個指針可能沒有相同的數值(這可以通過多繼承實現,而Objective-C不支持這種。)

定義類

Objective-C類定義有一個接口和一個實現部分。與C++有相似的地方,但兩個稍微有些混。

Objective-C中的接口僅定義位并且明確的需要公開。對于實現的原因,這包括私有實例變量在大部分的實現中,因為你無法繼承一個類除非你知道它多大。最近的一些實現,象Apple的64位運行時則沒有這種限制。

Objective-C對象的接口如下:

  1. @interface AnObject : NSObject  
  2.  
  3. {  
  4.  
  5. @private  
  6.  
  7. int integerivar  
  8.  
  9. @public  
  10.  
  11. id anotherObject;  
  12.  
  13. }  
  14.  
  15. + (id) aClassMethod;  
  16.  
  17. - (id) anInstanceMethod:(NSString*)aString with:(id)anObject  
  18.  
  19. @end  
  20.  

***行包含3個部分。標識符AnObject 是新類的名字。冒號后面的名字是NSObject。(這是可選的,但每一個Objective-C 對象都應拓展NSObject)。在括號內的名字是協議——與Java中的接口相似——通過類來實現。

正如C++實例變量(C++中的域)可以存取修飾符,不象C++,這些修飾符以@為前綴是為了避免與C標識符沖突。

Objective-C不支持多繼承,所以只有一個父類。所以,對象***部分的布局總是與父類實例的布局一致。這在過去常常定義為動態,意味著改變類中實例變量需要它所有子類重新編譯。在較新的運行時這種限定并不要求,在存取實例實例變量上開支稍微大些。這種決策的另一個影響就是Objective-C其他特性中的一個。

  1. struct_AnObject  
  2.  
  3. {  
  4.  
  5. @defs(AnObject);  
  6.  
  7. };  
  8.  

@def表示著對特定對象所有域都插入這種結構,所以struct_AnObject 和AnObject類的實例有著相同的內存結構。舉個例子來說,你可以通過這種規則可以直接存取實例變量。一個通常的用法就是允許C函數直接操作Objective-C對象,是基于性能原因。
正如我前面暗示的,與這個特性相關的另一件事就是可以在堆棧上創建對象。因為結構和對象在[FS:PAGE]內存布局中有著相同的結構,你可以簡單的創建結構,設置他的指針指向正確的類,然后映射一個指針指向一個對象指針。然后你可以當做對象來使用,雖然你不得不小心沒有什么可以保持指針不越界。(現實世界中我從沒有使用這種方法,僅僅理論上可能。)

不象C++,Objective-C沒有私有的或受保護的方法。Objective-C對象上的任何方法可以被其他對象調用。如果你在接口中沒有聲明方法,就是非正式私有的。將會得到運行時警告:對象不回應這種消息,但是你任然可以調用它。

接口和C中頭部聲明很相似。但它仍然需要一個實現,這并不奇怪,可以使用@implementation來定義。

  1. @implementation AnObject  
  2.  
  3. + (id) aClassMethod  
  4.  
  5. {  
  6.  
  7. ...  
  8.  
  9. }  
  10.  
  11. - (id) anInstanceMethod:(NSString*)aString with:(id)anObject  
  12.  
  13. {  
  14.  
  15. ...  
  16.  
  17. }  
  18.  
  19. @end  
  20.  

注意參數類型是特定的,在括號里。這是從C重用映射語法來展示值映射到類型;他們可能不是類型。準確來說當映射時應用相同的規則。這意味著映射在不兼容對象指針類型間會導致一個警告(不是錯誤)。

內存管理

傳統的,Objective-C不提供任何內存管理。在早期版本中,對象類實現一個+new方法調用malloc()來創建一個新對象。當使用完這個對象,傳一個-free消息。任何一個對象從NSObject繼承回應一個-retain和-release消息。當你使用完這個對象,你傳一個-free消息。OpenStep添加了參考計算。

每一個從NSObject繼承的對象都回應-retain和-release消息。當你想要保留一個指向對象的指針,你可以發送一個-retain消息。當你使用完以后,你可以發送一個-release消息。

這個設計有個細微問題。通常你不需要保持一個指向對象的指針,但是你也不想釋放。一個典型的例子在返回一個對象時候,調用者需要保持指向對象的指針,但你不想這么做。

這個問題的解決方案就是NSAutoreleasePool類。加上-retain和-release,NSObject也回應-autorelease消息。當你發送其中一個,和現前的自動釋放池一同注冊。當這個池對象被注銷,它發送一個-release消息給每個對象,而對象在這之前先收到-autorelease消息。在OpenStep應用中,一個NSAutoreleasePool實例在循環開始的時候創建,在結束的時候銷毀。你也可以創建屬于你自己的實例來自動釋放對象。

這個機制減少了一些C++所需的復制。其實也不值得這么做,在Objective-C,易變性是對象的屬性,不是參考。在C++,有常量指針和非常量指針。不允許在常量對象上調用非常量方法。這保證不了對象不會被改變——僅僅因為你不想改變。

在Objective-C中,一個常態模式定義了一個不變的類和可變的子類。NSString就是一個典型例子;

它有一個可變的子類NSMutableString。如果你得到NSString并且想保存下來,你可以傳一個-retain消息并且不用復制操作就可以保存指針。相反地,你可以傳一個+stringWithString:message給NSString。不管這個參數是否可變都會檢查并返回原始指針。

在Apple和GNU運行時,Objective-C都支持存儲性的垃圾回收,這會避免對-retain和-release的需要。在現存的框架中對語言的附加并不總是很好的支持的,并且在用的時候需要格外小心。

總結

既然我們已經瀏覽了Objective-C語言的核心,在這部分的總結我們將會看到更多的一些高級話題。

【編輯推薦】

  1. Objective-C基礎語法快速入門
  2. iPhone開發入門守則:Objective-C編碼規范
  3. C++開發者快速學習Objective-C語言核心語法

 

責任編輯:佚名 來源: 折酷吧
相關推薦

2014-04-15 11:27:50

C++開發者Objective-C核心語法

2011-05-11 13:54:08

Objective-C

2014-04-30 10:16:04

Objective-CiOS語法

2011-07-18 16:36:51

Objective-C XCode

2010-11-04 16:32:00

Objective-C

2014-04-03 09:36:47

Objective-Cruby消息傳遞

2015-06-25 11:21:33

C++Objective-C

2011-04-08 10:51:17

Objective-CiOS

2011-08-02 13:16:36

Objective-C 語法 函數

2011-05-11 11:20:26

Objective-C

2011-08-04 10:57:33

Objective-C C語言 BOOL

2011-05-11 14:06:49

Objective-C

2011-08-04 14:58:37

Objective-C Cocoa NSString

2013-08-21 14:57:42

objective-c問題

2011-08-04 13:38:01

Objective-C C++

2011-07-25 17:31:49

iPhone Objective-

2011-07-28 15:11:23

iOS Objective-

2011-07-07 17:04:33

iPhone Action Objective-

2011-07-18 14:59:20

iPhone Objective-

2012-12-26 09:51:52

C++開發者C++ CX
點贊
收藏

51CTO技術棧公眾號

国产精品乱码一区二区视频| 国产美女喷水视频| h片在线免费观看| 粉嫩aⅴ一区二区三区四区五区| 久久99精品久久久久久琪琪| 一边摸一边做爽的视频17国产| 美女av在线免费看| 国产精品午夜电影| 国产精品视频免费一区| 无码人妻黑人中文字幕| 国产精品麻豆久久| 亚洲激情视频网站| 可以看污的网站| av电影在线免费| 久久久综合视频| 成人字幕网zmw| 国产精品国产三级国产专区52| 久久美女视频| 日韩精品在线观看网站| 黄色三级视频在线播放| 新片速递亚洲合集欧美合集| 一区二区三区不卡在线观看 | 国产二区视频在线| 国产在线一在线二| 不卡的av电影| 成人乱色短篇合集| 日本免费在线观看视频| 国产在线不卡| 日韩一级黄色av| 野外性满足hd| 黄色成人美女网站| 欧美一区二区成人| 亚洲黄色a v| 色在线中文字幕| 亚洲国产中文字幕| youjizz.com亚洲| 二区三区在线| 久久久久综合网| 国产精品二区二区三区| 99久久亚洲精品日本无码| 日本亚洲免费观看| 国产99在线|中文| 男人的天堂一区| 在线成人h网| 欧美国产中文字幕| 欧美高清视频一区二区三区| 一本一道久久a久久精品蜜桃 | 大片免费在线看视频| 日本一区二区综合亚洲| 美女三级99| 手机看片1024国产| 老汉av免费一区二区三区 | 亚洲GV成人无码久久精品| 日韩午夜在线| 91精品国产高清| 日韩成人免费在线视频| 亚洲青涩在线| 2019日本中文字幕| 久久久久亚洲av成人毛片韩| 国产亚洲永久域名| 国产91精品久久久久| 成人毛片18女人毛片| 国产精品综合色区在线观看| 欧美一级电影在线| 亚洲黄色免费观看| 日韩在线一区二区| 国产精品亚洲美女av网站| 一区二区视频网| 久久99精品久久久久久国产越南| 国产日韩欧美夫妻视频在线观看 | 麻豆免费在线| 色综合久久中文综合久久97| av动漫免费看| 99热播精品免费| 欧美男同性恋视频网站| 两女双腿交缠激烈磨豆腐| 99国产精品久久一区二区三区| 亚洲成av人影院在线观看| 欧美无人区码suv| 欧美理论在线播放| 久久久精品中文字幕| 久久久99精品| 国产免费成人| 国产精品一区二区久久精品| av中文字幕免费| 92精品国产成人观看免费| 日本高清不卡三区| 国产在线高清视频| 亚洲一级二级在线| 欧美成人精品欧美一级乱| 国产人妖一区| 精品精品国产高清一毛片一天堂| 亚洲精品国产91| 午夜视频精品| 国产99视频在线观看| 国产强伦人妻毛片| 91免费国产在线| 一区二区日本伦理| а_天堂中文在线| 欧美在线一区二区三区| japan高清日本乱xxxxx| 免费不卡中文字幕在线| 久久亚洲精品成人| 亚洲av中文无码乱人伦在线视色| 国产一区二区伦理片| 久久精品国产精品国产精品污| 午夜视频在线| 福利一区福利二区微拍刺激| 又黄又爽又色的视频| 国产精品亚洲片在线播放| 欧美理论片在线观看| 国产寡妇亲子伦一区二区三区四区| 国产主播一区二区三区| 欧美日韩国产综合在线| 密臀av在线| 欧美区一区二区三区| 91中文字幕永久在线| 国产综合久久| 国产日韩欧美中文| 国产视频二区在线观看| 午夜欧美在线一二页| 亚洲免费黄色录像| 精品国产乱码| 91av国产在线| 成人久久精品人妻一区二区三区| 中文字幕亚洲一区二区av在线| 成人综合视频在线| 成人福利一区| 色综合91久久精品中文字幕| 亚洲天堂狠狠干| 久久精品亚洲精品国产欧美| 亚洲人成无码网站久久99热国产| 国产精品日本一区二区不卡视频| 一区二区欧美日韩视频| 在线观看黄网站| av一区二区久久| 女人色极品影院| 国产一区二区在线观| 中文字幕亚洲第一| 国产主播第一页| 久久人人爽人人爽| 欧美 国产 小说 另类| 群体交乱之放荡娇妻一区二区| 欧美福利小视频| 国产激情视频在线播放| 亚洲欧美日韩国产一区二区三区 | 成人精品视频一区二区三区| 看全色黄大色大片| 精品久久亚洲| 久久99久久亚洲国产| 999久久久久| 亚洲精品国产a久久久久久 | 日本香蕉视频在线观看| 日本一区二区三区播放| 欧美猛交免费看| 亚洲经典一区二区三区| 亚洲一区二区精品视频| 伦理片一区二区| 亚洲影院一区| 蜜桃精品久久久久久久免费影院| 在线免费三级电影网站| 亚洲视频日韩精品| 进去里视频在线观看| 亚洲国产成人自拍| 天天干天天操天天做| 婷婷亚洲五月| 成人性色av| 性欧美xxx69hd高清| 国产一区二区三区在线视频| 亚洲永久精品视频| 亚洲精品国产a久久久久久| 97中文字幕在线观看| 99成人精品| 日本在线观看一区二区三区| 欧美成人aaa| 欧美黑人又粗大| 亚洲AV成人无码一二三区在线| 色欧美乱欧美15图片| 人人澡人人澡人人看| 国产成人精品www牛牛影视| 欧美成人一区二区在线观看| 欧美精品羞羞答答| 99re视频在线播放| 波多野结衣视频一区二区| 亚洲欧美另类人妖| 99国产精品久久久久久久成人| 天天综合网天天综合色| 国产麻豆a毛片| 成人精品视频一区二区三区尤物| 北条麻妃在线视频| 一区二区三区在线| 久久久久久国产精品免费免费| 色综合天天色| 久久久久久久久久av| 成人动漫在线播放| 精品久久国产字幕高潮| 中文字幕丰满人伦在线| 一区二区三区.www| 极品蜜桃臀肥臀-x88av| 高清不卡一二三区| 日本人视频jizz页码69| 在线看片一区| 宅男一区二区三区| 中日韩免视频上线全都免费| 97超碰最新| 欧美va视频| 久久久伊人欧美| 欧美成人视屏| 亚洲色图色老头| 亚洲乱码精品久久久久..| 欧美人体做爰大胆视频| 日本高清不卡码| 亚洲一二三区不卡| 中文乱码字幕高清一区二区| 久久久精品免费免费| 亚洲一级Av无码毛片久久精品| 免费在线观看精品| 无罩大乳的熟妇正在播放| 香蕉久久网站| 亚洲免费不卡| 国产不卡一区| 精品国产免费人成电影在线观... 精品国产免费久久久久久尖叫 | 91成人在线观看国产| av网站在线看| 少妇av一区二区三区| 免费一级在线观看播放网址| 亚洲国产精品va在看黑人| 97免费观看视频| 欧美丝袜丝交足nylons| 男人午夜免费视频| 天天操天天干天天综合网| 国产黄色的视频| 国产精品久久久久精k8| 亚洲精品91在线| 国产午夜久久久久| 蜜桃av免费看| 久久精品一区二区三区四区| 爱爱免费小视频| 97精品电影院| 一本色道综合久久欧美日韩精品 | 国产欧美日韩综合一区在线观看| 欧美专区一区| 99久久免费国| 中文字幕视频精品一区二区三区| 91精品视频免费看| 91国产精品| 亚洲精品免费一区二区三区| 欧美激情三区| 国产在线一区二区三区| 四虎国产精品免费久久5151| 成人h猎奇视频网站| 91久久青草| 国产在线日韩在线| 麻豆国产一区| 国产精品久久精品视| 国产精品一线| 欧美亚洲另类在线一区二区三区 | 亚洲人成电影网站色…| 巨骚激情综合| 中文欧美在线视频| 免费av不卡| 欧美人与物videos| 麻豆国产在线| 国产国语刺激对白av不卡| 日本亚洲欧洲无免费码在线| 91精品在线观| 老牛精品亚洲成av人片| 欧美精品久久| 91影院成人| 日韩美女爱爱视频| 国产精品综合| 中文字幕亚洲影院| 丁香啪啪综合成人亚洲小说| 三上悠亚ssⅰn939无码播放| 欧美国产激情二区三区| 亚洲一级生活片| 黄色成人av网| 中文字幕丰满人伦在线| 精品日韩成人av| 青草久久伊人| 大胆欧美人体视频| 日本不良网站在线观看| 国产福利精品视频| 一区二区亚洲视频| 欧洲亚洲一区二区三区四区五区| 国产精品久久久久久麻豆一区软件 | 亚洲av成人无码一二三在线观看| 久久久美女艺术照精彩视频福利播放| 91ts人妖另类精品系列| 亚洲成人1区2区| 中文字幕在线观看精品| 精品久久久久久无| 波多野结衣在线网站| 久久久久久久久国产精品| 78精品国产综合久久香蕉| 高清av免费一区中文字幕| 国产日产一区| 蜜臀精品一区二区| 美女性感视频久久| 精品黑人一区二区三区观看时间| 国产精品久久精品日日| 精品在线播放视频| 91精品在线观看入口| 久久精品色图| 久久久久久伊人| gogo大尺度成人免费视频| 久久精品国产第一区二区三区最新章节 | 国产亚洲一区精品| sis001亚洲原创区| 国产精品老女人精品视频 | 香蕉久久免费影视| 99pao成人国产永久免费视频| 亚洲国产午夜精品| 日本一区二区三区高清不卡| 97免费在线观看视频| 欧美一区二区三区的| 在线观看麻豆蜜桃| 日本精品va在线观看| av自拍一区| 国产午夜精品视频一区二区三区| 捆绑调教一区二区三区| 手机看片福利视频| 欧美日韩一区二区三区在线免费观看| 国产成人免费看一级大黄| 日韩有码在线观看| 日本欧美韩国| 日韩av不卡播放| 亚洲自啪免费| 国产国语性生话播放| 亚洲高清免费视频| 风流老熟女一区二区三区| 美女视频黄免费的亚洲男人天堂| 午夜不卡一区| 一区二区日本| 久久福利资源站| 黄色免费一级视频| 欧美三级视频在线观看| 95在线视频| 国产精品男人的天堂| 成人精品影院| 中文字幕第88页| 国产精品天天摸av网| 在线观看国产精品入口男同| 中文字幕免费国产精品| 福利一区和二区| 中国人体摄影一区二区三区| 久久精品72免费观看| 97在线观看免费高| 日韩一区二区在线看片| 91福利国产在线观看菠萝蜜| 亚洲精品免费网站| 亚洲小说区图片区| 亚洲熟女乱综合一区二区三区| 岛国av一区二区| 成人欧美一区| 成人国产精品免费视频| 中文字幕午夜精品一区二区三区| 亚洲欧洲日韩综合| 婷婷成人综合网| 国产成人天天5g影院在线观看| 国产精品揄拍一区二区| 欧美va亚洲va日韩∨a综合色| 国产综合内射日韩久| 福利二区91精品bt7086| 国产精品秘入口| 成人夜晚看av| 亚洲黄色视屏| 免费看裸体网站| 91麻豆精品国产91久久久 | 国产精品美女免费| 91精品国产调教在线观看| 日批视频免费看| 欧美性色视频在线| 天堂地址在线www| 999精品视频一区二区三区| 日韩午夜高潮| 日本伦理一区二区三区| 日韩精品一区二区三区中文精品 | 91精品久久久久| 国产精品99免费看| 成年人免费观看视频网站| 欧美日韩免费视频| 91高清视频在线观看| 色综合666| 国产suv精品一区二区883| 中文字幕在线看人| 久久久精品国产亚洲| 欧美亚洲大陆| 一级网站在线观看| 色一情一乱一乱一91av| 国产日产一区二区| 另类小说综合网| 国产精品综合网| 69视频免费看| 久久欧美在线电影| 我不卡影院28| 蜜臀久久99精品久久久久久| 欧美变态凌虐bdsm| 123成人网| 日本网站免费在线观看|