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

總結(jié)一些Objective-C的self.用法

移動(dòng)開(kāi)發(fā) iOS
關(guān)于什么時(shí)候用全局變量,什么時(shí)候用self.賦值的問(wèn)題,其實(shí)是和Objective-c的存取方法有關(guān), 網(wǎng)上很多人也都這么解答的,不過(guò)如何與存取方式有關(guān)究竟他們之間的是什么樣的關(guān)系就很少有同學(xué)回答了。我總結(jié)了一下, 發(fā)出來(lái)給大家參考. 有什么問(wèn)題請(qǐng)大家斧正.

進(jìn)入正題, 我們經(jīng)常會(huì)在官方文檔里看到這樣的代碼:

  1. MyClass.h 
  2.  
  3. @interface MyClass : NSObject { 
  4.     MyObject *myObject; 
  5. @property (nonatomic, retain) MyObject *myObject; 
  6. @end 
  7.  
  8. MyClass.m 
  9.  
  10.   
  11. @synthesize myObject; 
  12.   
  13. -(id)init{ 
  14.     if(self = [super init]){ 
  15.         MyObject * aMyObject = [[MyObject alloc] init]; 
  16.         self.myObject = aMyObject; 
  17.         [aMyObject release]; 
  18.     } 
  19.     return self; 

 

 

 

創(chuàng)建一個(gè)Student類,繼承NSObject類,代碼:

  1. #import <Foundation/Foundation.h> 
  2.   
  3. @interface Student : NSObject{ 
  4.   
  5.       NSString *idd; 
  6.       NSString *name; 
  7.   } 
  8.   @property (nonatomic, retain) NSString *idd; 
  9.   @property (nonatomic, retain) NSString *name; 
  10.     
  11.   @end 

.m文件 代碼:

  1. #import "Student.h" 
  2.    
  3.   @implementation Student 
  4.   @synthesize idd,name; 
  5.     
  6.   - (void)dealloc 
  7.   { 
  8.       [idd release]; 
  9.       [name release]; 
  10.      [super dealloc]; 
  11.   } 
  12.     
  13.    
  14.   @end 

使用@propety @synthesize實(shí)現(xiàn)Student的成員屬性的set get方法。通常我們?cè)谄渌惱镌L問(wèn)Student的成員屬性的做法:

獲取student的名字通過(guò)student.name,給名字賦值[student setName:@“jordy”]; 其中student是Student類對(duì)象,如果在Student類內(nèi)部訪問(wèn)其成員屬性使用[self setName:@”jordy”], 訪問(wèn)使用self.name;

注意:上述的代碼,由于wordpress的原因,代碼中的字符會(huì)自動(dòng)保存為中文格式。你在使用時(shí)記得改為英文格式。

在Student.h和Student.m文件,是我們習(xí)慣性的寫法,但似乎還是不能解釋什么加self和不加self的區(qū)別,請(qǐng)看下面代碼,是另一種習(xí)慣性的寫法,還以Student類為例:

.h文件 代碼:

  1. #import <Foundation/Foundation.h> 
  2. @interface Student : NSObject{ 
  3.   
  4.     NSString *_idd; 
  5.    NSString *_name; 
  6. @property (nonatomic, retain) NSString *idd; 
  7. @property (nonatomic, retain) NSString *name; 
  8. @end 

.m文件 代碼:

  1. #import "Student.h" 
  2.   
  3. @implementation Student 
  4.  @synthesize idd = _idd; 
  5. @synthesize name = _name; 
  6.   
  7.  - (void)dealloc 
  8.  { 
  9.     [_idd release]; 
  10.     _idd = nil; 
  11.      [_name release]; 
  12.     _name = nil; 
  13.      [super dealloc]; 
  14.  } 
  15. @end 

可以注意到上述代碼,與之前的代碼,在.h文件name變量改寫為了_name;在.m文件中@sythesize的寫法也發(fā)生了變化。

如果通過(guò)方法self._name獲取屬性的值,xcode編譯器會(huì)提示錯(cuò)誤,其實(shí)這也就說(shuō)明了,我們通常使用self.name實(shí)際使用的是student類name的get方法,同理name的set方法亦是如此。

有人就問(wèn), 為什么要這么復(fù)雜的賦值? 為什么要加self. ? 直接寫成self.myObject = [[MyObject alloc] init];不是也沒(méi)有錯(cuò)么? 不加self有時(shí)好像也是正常的?

接下來(lái)從內(nèi)存管理來(lái)說(shuō)明使用self.和不使用self的區(qū)別

現(xiàn)在我們來(lái)看看內(nèi)存管理的內(nèi)容:

ViewController.h文件,使用Student類,代碼如下:

  1. #import <UIKit/UIKit.h> 
  2.  @class Student; 
  3.   
  4.  @interface ViewController : UIViewController{ 
  5.       
  6.     Student *_student; 
  7.  } 
  8.      
  9.   @property (nonatomic, retain) Student *student; 
  10.     
  11.  @end 

 

 

ViewController.m文件,代碼:

  1. #import "ViewController.h" 
  2.  #import "Student.h" 
  3.     
  4.   @implementation ViewController 
  5.   @synthesize student = _student; 
  6.     
  7.   - (void)didReceiveMemoryWarning 
  8.   { 
  9.       [super didReceiveMemoryWarning]; 
  10.   } 
  11.     
  12.   #pragma mark - View lifecycle 
  13.     
  14.   - (void)viewDidLoad 
  15.   { 
  16.       [super viewDidLoad]; 
  17.   } 
  18.     
  19.   - (void) dealloc 
  20.   { 
  21.         [_student release]; 
  22.         _student = nil; 
  23.      [super dealloc]; 
  24.     } 

 

 

其它的方法沒(méi)有使用到,所以這里就不在顯示了。

在ViewController.m的viewDidLoad方法中創(chuàng)建一個(gè)Student類的對(duì)象

  1. Student *mystudent = [[Student alloc] init]; 
  2.  self.student = mystudent; 
  3.  [mystudent release]; 

這是相信有人會(huì)有疑問(wèn)了,問(wèn)什么創(chuàng)建student對(duì)象要這么復(fù)雜,似乎直接使用self.student = [[Student alloc] init]; 也沒(méi)有問(wèn)題,不加self有時(shí)也是挺正常的呀?

接下來(lái)就需要從內(nèi)存角度來(lái)分析它們之間的區(qū)別了:

先看間接賦值的:

 

1.加self.

  1. MyObject * aMyObject = [[MyObject alloc] init]; //aMyObject retainCount = 1; 
  2. self.myObject = aMyObject; //myObject retainCount = 2; 
  3. [aMyObject release];//myObject retainCount = 1; 

 

2. 不加self.

  1. MyObject * aMyObject = [[MyObject alloc] init]; //aMyObject retainCount = 1; 
  2. myObject = aMyObject; //myObject retainCount = 1; 
  3. [aMyObject release];//對(duì)象己經(jīng)被釋放 

 

再看直接賦值的:

 

3.加self.

  1. self.myObject = [[MyObject alloc] init]; //myObject retainCount = 2; 

 

4. 不加self.

  1. myObject = [[MyObject alloc] init]; //myObject retainCount = 1; 

 

現(xiàn)在是不是有點(diǎn)暈, 我們先來(lái)把代碼改一下, 官方的一種常見(jiàn)寫法:

  1. MyClass.h 
  2. @interface MyClass : NSObject { 
  3.     MyObject * _myObject; 
  4. @property (nonatomic, retain) MyObject *myObject; 
  5. @end 
  6. MyClass.m 
  7. @synthesize myObject = _myObject; 

 

OK, 你現(xiàn)在再試下, 如果你用self._myObject = aMyObject; 或者 myObject = aMyObject; 你會(huì)得到一個(gè)錯(cuò)誤, 為什么呢, 這里就是和Obj-c的存取方法有關(guān)了. 說(shuō)白了很簡(jiǎn)單 , 大家都知道, @property (nonatomic, retain) MyObject *myObject; 是為一個(gè)屬性設(shè)置存取方法, 只是平時(shí)我們用的方法名和屬性名是一樣的,現(xiàn)在你把它寫成不同的名字, 就會(huì)很清楚了. _myObject是屬性本身, myObject是存取方法名.

 

現(xiàn)在我們知道self.是訪問(wèn)屬性的存取方法了, 那存取方法又怎么工作的? self.myObject = [[MyObject alloc] init]; 為什么會(huì)有內(nèi)存泄露?

關(guān)于nonatomic我不多解釋了, 它不是我要講的重點(diǎn), 而且我也沒(méi)完全搞清楚, 不誤導(dǎo)大家. 我只說(shuō)assign, retain ,copy.

 

get方法是:

  1. -(MyObject*)myObject{ 
  2.     return _myObject; 

 

Set方法是:

  1. // assign 
  2. -(void)setMyObject:(id)newValue{ 
  3.     _myObject = newValue; 
  4. // retain 
  5. -(void)setMyObject:(id)newValue{ 
  6.     if (_myObject != newValue) { 
  7.         [_myObject release]; 
  8.         _myObject = [newValue retain]; 
  9.     }  
  10. // copy 
  11. -(void)setMyObject:(id)newValue{ 
  12.     if (_myObject != newValue) { 
  13.         [_myObject release]; 
  14.         _myObject = [newValue copy]; 
  15.     } 

 

其實(shí)這些方法里還有別的內(nèi)容, 并不只是這些. 而且這些方法可以被重寫. 比如你寫一個(gè)

  1. -(MyObject*)myObject{ 
  2.     return _myObject; 

 

放在你的類里, 你調(diào)用self.myObject時(shí)(不要把它放在等號(hào)左邊, 那會(huì)調(diào)用get方法)就會(huì)調(diào)用這個(gè)方法.

 

這里多說(shuō)一句, @property 是為你設(shè)置存取方法, 和你的屬性無(wú)關(guān), 你可以只寫一句

  1. @property (readonly) NSString *name; 

 

在你的類里實(shí)現(xiàn)

  1. -(NSString*)name{ 
  2.     NSLog(@"name"); 
  3.     return @"MyClass"

 

同樣可以用self.name調(diào)用.

 

現(xiàn)在回頭說(shuō)說(shuō)我們開(kāi)始的那四個(gè)賦值, 當(dāng)不用self.的時(shí)候,  那句話只是一般的賦值, 把一個(gè)指針賦給另一個(gè)指針, 不會(huì)對(duì)分配的內(nèi)存有任何影響, 所以2中不要最后[aMyObject release];這句話和4是一回事. 這里就不多說(shuō)了.我們看看1和3,

當(dāng)調(diào)用setMyObject:方法時(shí), 對(duì)newValue 做了一次retain操作, 我們必須把原來(lái)的newValue釋放掉, 不然就會(huì)內(nèi)存泄露, 在1里, 我們有個(gè)aMyObject可以用來(lái)釋放, 在3里, 我們無(wú)法釋放它, 所以, 在3里, 我們會(huì)多出來(lái)一個(gè)retainCount. 內(nèi)存泄露了.

 

說(shuō)了這么多, 我只想讓大家清楚, 什么是調(diào)用屬性本身, 什么是調(diào)用存取方法. 怎么樣才能避免內(nèi)存泄露, 而且, 以上例子里是在自己類里的調(diào)用, 如果這個(gè)類被別的類調(diào)用時(shí), 更要注意一些,

 

順便說(shuō)一下, 如果你想在其它類訪問(wèn)對(duì)象屬性, 而不是通過(guò)存取方法, 你可以用myClass -> myObject來(lái)訪問(wèn), 這樣是直接訪問(wèn)對(duì)象本身, 不過(guò)你先要把myObject設(shè)成@public. 但這個(gè)是官方不提倡的,

 

代碼比較簡(jiǎn)單, 我還是發(fā)出來(lái), 高人們可以忽略了.

責(zé)任編輯:佚名 來(lái)源: 網(wǎng)絡(luò)整理
相關(guān)推薦

2011-07-20 13:34:37

Objective-C self.

2011-08-04 13:55:10

Cocoa Objective- 文件

2011-07-19 13:49:19

Objective-C 數(shù)據(jù)類型

2011-07-08 18:44:09

Objective-C Self Super

2011-07-07 17:17:23

Objective-C

2011-08-01 11:49:05

Objective-C

2011-07-25 13:05:37

Objective-C 委托

2011-08-10 18:07:29

Objective-C反射

2013-08-21 15:06:31

iOSself.

2013-03-27 12:54:00

iOS開(kāi)發(fā)Objective-C

2013-06-20 10:40:32

Objective-C實(shí)現(xiàn)截圖

2011-05-11 15:58:34

Objective-C

2011-05-11 11:20:26

Objective-C

2011-06-27 15:48:09

Cocoa TouchObjective-C

2017-09-05 09:17:47

Java編程用法總結(jié)

2023-02-10 09:46:04

bash腳本變量

2014-11-25 10:18:17

Objective-C

2014-07-29 09:44:35

2013-04-11 13:41:30

Objective-CiOS編程

2011-08-04 11:15:46

Objective-C 構(gòu)造函數(shù) 構(gòu)造方法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

91精品人妻一区二区三区蜜桃2| 欧美在线视频二区| 欧美黄色aaa| av在线亚洲色图| 欧美性猛交丰臀xxxxx网站| 色一情一乱一伦一区二区三区| 国产精品特级毛片一区二区三区| 亚洲经典自拍| 精品国产拍在线观看| 久草视频福利在线| 狂野欧美性猛交xxxx| 五月婷婷色综合| 伊人久久大香线蕉午夜av| 狠狠综合久久av一区二区| 日韩精品乱码免费| 久久久久久久久久久久久久久久久久av | 91精品福利在线一区二区三区| 黄色成人在线免费观看| 成人免费视频| av亚洲精华国产精华精华| 国产欧美日韩中文| 影音先锋在线国产| 亚洲午夜激情在线| 久久久国产一区| 性の欲びの女javhd| youjizz欧美| 欧美一区二区三区电影| 欧美视频在线观看网站| 美女隐私在线观看| 亚洲国产精品成人综合色在线婷婷| 国产亚洲一区在线播放| 亚洲第一第二区| 国产精品白丝jk黑袜喷水| 国产精品免费电影| 无码人妻av一区二区三区波多野| 在线国产精品一区| 欧美精品激情blacked18| 91香蕉视频污在线观看| 国产精品美女久久久久久不卡 | av在线三区| 久久久久久久久久电影| 国产精品免费一区二区三区在线观看 | 青青青国产精品| 欧美主播一区二区三区| 日韩av片在线看| 九色porny丨入口在线| 亚洲一区二区五区| 国产精品国产三级国产专区51| h视频在线免费观看| 亚洲视频一区二区在线观看| 亚洲精品第一区二区三区| 国产鲁鲁视频在线观看免费| 久久久久国产一区二区三区四区 | 天天综合网91| 久久精品亚洲国产| 国产日韩欧美在线观看视频| 女同性一区二区三区人了人一 | 亚洲精品在线不卡| 成年人网站免费在线观看| 亚洲理论电影| 亚洲欧美一区二区三区情侣bbw| 亚洲av无码一区二区三区网址| 欧美1区2区3区4区| 亚洲女同精品视频| 男人操女人动态图| 99精品视频在线| 久久国产精品久久久久久久久久| 青娱乐在线视频免费观看| 午夜欧美精品久久久久久久| 欧美精品videosex极品1| 日本三级一区二区| 日本视频中文字幕一区二区三区| 国产精品揄拍一区二区| 国产模特av私拍大尺度| 成人午夜私人影院| 免费亚洲一区二区| 日韩av中文| 亚洲线精品一区二区三区八戒| 国产精品裸体瑜伽视频| 日韩高清不卡| 日韩午夜中文字幕| 久久精品国产亚洲av麻豆| 欧美综合视频| 久久久久久91| 最近中文字幕在线视频| 国产精品中文有码| 欧美成人dvd在线视频| 1769视频在线播放免费观看| 亚洲毛片av在线| 日本一本二本在线观看| 日本在线一区二区| 日韩大陆欧美高清视频区| 国产激情av在线| 亚洲夜间福利| 国产在线a不卡| 午夜性色福利影院| 最新久久zyz资源站| 日韩精品视频在线观看视频| 国产 日韩 欧美一区| 日韩视频一区在线观看| 日本二区在线观看| 国内精品久久久久久久影视蜜臀| 国产精品91在线| 国产91免费在线观看| 国产蜜臀av在线一区二区三区| 成人在线观看毛片| 成人在线中文| 亚洲毛片在线看| 久久久久无码国产精品| 日本vs亚洲vs韩国一区三区二区 | 精品久久久在线观看| 在线免费黄色网| 九九综合久久| 欧美激情第6页| 91 中文字幕| 久久精品在线观看| 国产毛片视频网站| 麻豆一二三区精品蜜桃| 一区二区三区视频免费| 香蕉免费毛片视频| 国产精品888| 一本久久a久久精品vr综合| 中文字幕在线高清| 亚洲福利精品在线| 四虎永久免费在线| 久久综合综合久久综合| 日本在线免费观看一区| 漫画在线观看av| 精品国产污污免费网站入口 | 欧美日韩日日摸| wwwwxxxx国产| 一区二区91| 国产伦精品一区二区三| 人人超在线公开视频| 91精品久久久久久久91蜜桃| 国产黄色录像视频| 日本不卡123| 四虎一区二区| 成人涩涩视频| 在线观看中文字幕亚洲| 欧美特级黄色片| 日本一区二区综合亚洲| 蜜臀视频一区二区三区| 精品高清在线| 国产91精品久| 精品无吗乱吗av国产爱色| 欧美性xxxxx极品| 草草影院第一页| 天堂成人国产精品一区| 日本一区二区在线视频| 国产超碰精品| 中文字幕综合一区| 91av久久久| 有码一区二区三区| 怡红院一区二区| 在线亚洲观看| 日韩欧美视频第二区| 国产成人毛片| 久久综合国产精品台湾中文娱乐网| 国产在成人精品线拍偷自揄拍| 国产精品久久免费看| caoporm在线视频| 欧美视频在线观看| 久久本道综合色狠狠五月| 亚洲精品一区| 在线a欧美视频| 国产成人精品无码高潮| 亚洲国产欧美另类丝袜| 国产三级视频网站| 日本欧美大码aⅴ在线播放| 影音先锋欧美资源| 超碰地址久久| 国产脚交av在线一区二区| 中文字幕日本在线| 精品日韩一区二区三区免费视频| 在线观看免费国产视频| 欧美国产精品中文字幕| 无套内谢丰满少妇中文字幕 | 精品国产一级毛片| 成人免费淫片视频软件| 18video性欧美19sex高清| 亚洲色图校园春色| 国产黄色片网站| 欧美午夜精品在线| 亚洲一级理论片| 成人av网站在线观看免费| 男人天堂999| 99久久久久| 久久一区二区三区av| 日韩亚洲国产免费| 4p变态网欧美系列| 成人片在线看| 亚洲色图25p| 亚洲乱码国产乱码精品精软件| 色综合夜色一区| 欧美日韩在线视频免费| 久久久美女毛片| 9191在线视频| 蜜臀a∨国产成人精品| 久久视频这里有精品| 国产精品久久久久久久久妇女 | 精品国产不卡| 国产精品乱码| 国产一区二区三区| 国产成人精品久久久| 免费不卡av| 色偷偷88888欧美精品久久久| 天堂在线视频网站| 欧美一区二区三区人| 波多野结衣在线电影| 亚洲国产aⅴ天堂久久| 日韩精品123区| 欧美激情资源网| 在线免费观看日韩av| 成人免费视频视频| 国产黑丝在线视频| 久久99精品久久只有精品| 国语对白做受xxxxx在线中国| 亚洲第一在线| 真实国产乱子伦对白视频| 97久久夜色精品国产| 日韩电影免费观看高清完整| 露出调教综合另类| 99九九电视剧免费观看| 成人精品在线| 成人久久久久爱| 欧美成人福利| 国产精品视频最多的网站| 视频二区不卡| 日韩免费视频在线观看| 正在播放日韩精品| 2023亚洲男人天堂| 成年人黄色大片在线| 久久久久久久久久亚洲| 男女在线观看视频| 欧美黑人一区二区三区| h片在线免费| 欧美国产日韩xxxxx| 亚洲小说区图片| 另类美女黄大片| av网站在线免费| 久久中文久久字幕| 日本理论片午伦夜理片在线观看| 欧美成人午夜激情| 在线你懂的视频| 国内精品一区二区三区四区| 国产乱码在线| 午夜精品在线视频| freexxx性亚洲精品| 18一19gay欧美视频网站| 国产精品25p| 欧洲亚洲妇女av| 天堂久久午夜av| 91午夜理伦私人影院| 国产精品国产亚洲精品| 99久久99| 免费成人三级| 日韩性感在线| 午夜精品视频一区二区三区在线看| 亚洲免费视频播放| 国产中文一区| 妺妺窝人体色www在线小说| 麻豆精品网站| 伊人国产在线视频| 国产精品一二三四五| 国产女主播在线播放| 久久综合丝袜日本网| 在线观看亚洲大片短视频| 日韩美女久久久| 日韩成人一区二区三区| 欧美性猛交xxxx免费看| 亚洲无码精品在线播放| 欧美va在线播放| 黄色在线小视频| 久久影视电视剧免费网站清宫辞电视| 色av手机在线| 国产91免费看片| 99视频这里有精品| 韩国一区二区三区美女美女秀| 国产探花一区| 日韩成人三级视频| 久久aⅴ国产紧身牛仔裤| 国产福利在线免费| 波多野结衣亚洲一区| 日本美女xxx| 一区二区三区四区视频精品免费| 国产午夜免费福利| 欧美精品色一区二区三区| 免费国产黄色片| 深夜福利一区二区| ****av在线网毛片| 国产精品美女久久| 久久97精品| 天天干天天操天天干天天操| 亚洲精品婷婷| 91视频免费入口| 久久久99免费| 国产精彩视频在线观看| 欧美日本韩国一区二区三区视频| 天天操天天舔天天干| 久久精品亚洲热| 亚洲精品555| 久久99精品久久久水蜜桃| 欧美在线三级| 污污网站在线观看视频| 91一区二区在线观看| 欧美视频www| 欧美日韩一级片网站| 色就是色亚洲色图| 久久久久久久香蕉网| 国产一区精品福利| 蜜桃视频成人| 亚洲小说区图片区| 无套内谢丰满少妇中文字幕 | 国产电影一区在线| 成人欧美一区二区三区黑人一| 欧美性猛交xxxx乱大交蜜桃| 全部免费毛片在线播放一个| 久久亚洲精品一区二区| 91另类视频| 欧洲在线视频一区| 另类天堂av| 极品白嫩丰满美女无套| 亚洲成a人片在线观看中文| 国产99久久九九精品无码免费| 日韩一区二区久久久| 日本精品网站| 五码日韩精品一区二区三区视频| 亚欧美中日韩视频| www.17c.com喷水少妇| 亚洲图片欧美色图| www.色日本| 久久久久久久97| 伊人久久大香线蕉av超碰| 伊人再见免费在线观看高清版 | 精品国产91乱码一区二区三区| 黄a在线观看| 亚洲va欧美va国产综合剧情| 国产精品国产一区| 久久综合在线观看| 亚洲美女免费在线| 免费av网站观看| 97精品国产97久久久久久| 久久这里只有精品一区二区| 欧美男女爱爱视频| 久久亚区不卡日本| 加勒比在线一区| 在线视频免费一区二区| 黄页免费欧美| 操bbb操bbb| 成人免费视频视频| 中文字幕亚洲精品在线| 亚洲美女动态图120秒| 亚洲1234区| 亚洲精品久久久久久一区二区| 毛片基地黄久久久久久天堂| 天天色影综合网| 精品久久久久香蕉网| 日韩脚交footjobhd| 日本免费高清一区二区| 免费观看久久久4p| 日韩欧美综合视频| 亚洲国产毛片完整版| 国产成人精品123区免费视频| 亚洲午夜久久久影院伊人| 国产原创一区二区三区| 久久综合亚洲色hezyo国产| 亚洲精品乱码久久久久久金桔影视| 亚洲电影观看| 在线看视频不卡| 成人高清在线视频| www.亚洲激情| 美女撒尿一区二区三区| 卡通动漫精品一区二区三区| 成年人黄色片视频| 日韩美女久久久| 三级网站免费观看| 国产一区二区在线免费视频| 国内揄拍国内精品久久| 大又大又粗又硬又爽少妇毛片 | 四虎精品在永久在线观看 | 日韩动漫一区| www.这里只有精品| 亚洲一区二区精品久久av| 黄色的视频在线免费观看| 91性高湖久久久久久久久_久久99| 黄色亚洲精品| 日韩精品久久久久久久的张开腿让| 精品久久人人做人人爰| 国产综合色在线观看| av在线观看地址| 国产精品久久久久久久久免费桃花| 国产suv一区二区| 国产成人亚洲综合青青| 亚洲图片在线| 国产精品视频一区二区在线观看| 亚洲国产精品系列| 久久国产精品美女| 中文字幕永久视频| 精品久久久久久久久久|