日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS代码工具箱

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS代码工具箱 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

  • 判斷日期是不是同一天,不要求是小時、分鐘要一樣。fromhttp://www.oliverfoggin.com/nsdate-isequaltodatetounitgranularity/?utm_source=iOS+Dev+Weekly&utm_campaign=iOS_Dev_Weekly_Issue_115&utm_medium=email?

#import <Foundation/Foundation.h>

@interface NSCalendar (equalWithGranularity)

- (BOOL)isDate:(NSDate *)date1 equalToDate:(NSDate *)date2 withGranularity:(NSCalendarUnit)granularity;

@end

#import "NSCalendar+equalWithGranularity.h"

@implementation NSCalendar (equalWithGranularity)

?

- (BOOL)isDate:(NSDate *)date1 equalToDate:(NSDate *)date2 withGranularity:(NSCalendarUnit)granularity?{

??? if ([date1 isEqualToDate:date2]) {

??????? return YES;

??? }

???

??? int componentFlags = [self componentFlagsWithGranularity:granularity];

???

??? date1 = [self dateFromDate:date1 withComponentFlags:componentFlags];

??? date2 = [self dateFromDate:date2 withComponentFlags:componentFlags];

???

??? return [date1 isEqualToDate:date2];

}

?

- (int)componentFlagsWithGranularity:(NSCalendarUnit)granularity

{

? ??int componentFlags = 0;

???

??? for (int i = 1<<1 ; i <= granularity ; i = i<<1) {

??????? componentFlags = componentFlags | i;

??? }

???

??? return componentFlags;

}

?

- (NSDate *)dateFromDate:(NSDate *)date?withComponentFlags:(int)componentFlags?{

??? NSDateComponents *components = [self components:componentFlags fromDate:date];

???

??? return [self dateFromComponents:components];

}

@end

  • CGRect rect = { CGPointZero, image.size };
  • 光照效果+雜色效果

?

雜色圖片附件?

  • 使用解固XIB文件得到的視圖,初始化方法為initWithCoder:;使用代碼創建的視圖,初始化方法為initWithFrame:。
  • Podfile文件配置
  • 圖片的灰度處理 ?from:http://bj007.blog.51cto.com/1701577/541525
  • 自定義模態跳轉動畫
  • 當某一線程上正在運行一個任務,接著在沒有取消該線程的情況下,又啟動了一個執行同樣操作任務的線程。當最初的線程執行完任務后,執行清理工作,并將清理工作的運行環境關閉。而新開的線程上的操作執行完以后也執行一次清理工作,但此時執行清理的運行環境已經被關閉,致使app奔潰。所以在開啟一個同樣操作的新線程的時,要取消之前的線程。這在不斷點擊同一個事件觸發按鈕時尤為明顯。

? ? ? ? ? ?當使用NSOperation類進行網絡請求(AFNetworking的網絡請求對象就是基于NSOperation),如果用戶離開某個請求還沒有完成的界面,除了將NSOpeation取消,還需要在NSOpeation塊內時刻監測NSOpeation類的isCancelled屬性的變化。當塊內的某個操作比較耗時,即使你取消了操作,但可能此時NSOperation已經獲取到了結果,只是在處理得到的結果,因為取消并不能讓NSOpeation塊內的代碼停下來。所以對于耗時的操作,在操作前要檢測NSOpeation是否被取消。

? ? ? ? ? 當使用MBProgressHUD,對hud設置當前頁面的控制器為hud代理。記住:當退出當前控制器視圖時,要將hud的代理置為nil,防止出現使用hide:afterDelay:方法后,hud延遲隱藏之后回調已經被釋放的代理,而致使ap奔潰。

  • 利用Core Graphics為圖片添加內陰影 from:http://stackoverflow.com/questions/4431292/inner-shadow-effect-on-uiview-layer

? ? ?代碼運行截圖:

? ??

  • 內陰影+外陰影+邊框效果

  • CGRectInset與CGRectOffset的區別

? ? ? CGRect CGRectInset (
? ? ??CGRect rect,
? ? ? CGFloat dx,
? ? ? CGFloat dy
? ? );?
? ? 該結構體的應用是以原rect為中心,再參考dx,dy,進行縮放或者放大。dx,dy為正數縮小,負數則放大。如果縮放后的結果矩形的寬或高存在負值,則返回空矩形。

? ? CGRect CGRectOffset(
? ? ? ? ? ?CGRect rect,
? ? ? ? ? ?CGFloat dx,
? ? ? ? ? ?CGFloat dy
? ?);
????
? ?相對于源矩形原點rect(左上角的點)沿x軸和y軸偏移

  • Quartz常用曲線路徑的相關函數:from:http://blog.shoguniphicus.com/2011/05/19/keyframe-animation-ios-cakeyframeanimation-objective-c/

曲線的理論基礎是貝塞爾曲線,曲線的定義有四個點:起始點、終止點(也稱錨點)以及兩個相互分離的中間點。滑動兩個中間點,貝塞爾曲線的形狀會發生變化。

?<1>?關于CGPathAddQuadCurveToPoint(path, NULL, cx, cy, x, y)。cx、cy為控制點的xy坐標,x、y為結束點。該函數只有一個控制點,當控制點的x坐標處在開始點和結束點的中間,則該條曲線關于中心點y軸對稱。

? ? ? CGPathAddQuadCurveToPoint函數原理圖

示例代碼1:

  

? ? ? ? ? ? ? ? ? ? ? ? 代碼1運行截圖

<2>關于CGPathAddCurveToPoint(path, NULL, cx1, cy1, cx2, cy2, x, y);cx1、cy1為控制點1點xy坐標,cx2、cy2為控制點2的xy坐標。x、y為結束點。

? ? ? ? ? CGPathAddCurveToPoint函數原理圖

示例代碼2:

? ? ? ? ? ? ? ? ? ? ? ? ? ? 代碼2運行截圖

<3>關于void CGPathAddArcToPoint (CGMutablePathRef path,const CGAffineTransform *m,?CGFloat x1,?CGFloat y1,?CGFloat x2,?CGFloat y2,?CGFloat radius)。

該函數想可變的圖形路徑中追加一條弧線,可能弧線的前面是一條直線。該函數使用了一個三次貝塞爾曲線序列以創建一個弧線。當前點到(x1,y1)的直線以及(x1,y1)到(x2,y2)直線與弧線相切。弧線的開始點和結束點被分別定位在第一條與第二條切線上。弧線的開始點和結束點也被成為線段的切點。如果當前的點和第一個弧線的切點不相等,quartz就追加一條從當前點到第一個弧線切點的直線段。弧線的結束點變成了新路徑的當前點。在路徑中繪制弧線的另外方式,可見CGPathAddArc參數。

?

? ? ? ? ? ? ? CGPathAddArcToPoint函數原理圖

示例代碼3:

? ? ? ? ? ? ? 代碼3運行截圖

<4>關于void CGPathAddArc (?CGMutablePathRef path,const CGAffineTransform *m,?CGFloat x,?CGFloat y,?CGFloat radius,?CGFloat startAngle,?CGFloat endAngle,?bool clockwise)。x和y表示圓心的xy坐標。radius表示半徑。startAngle和endAngle表示開始和結束角度。clockwise如果為YES,表示從開始角度到結束角度之間的弧線以順時針方向,也即為從左到右,從上到下。如果為NO表示從左到右,從下到上。如原理圖所示。具體關于該函數的數學原理,請參見:http://blog.csdn.net/zhanglei5415/article/details/8147833 ?中”創建弧線-數學問題“一節。

?

? ? ??CGPathAddArc函數參數表征的具體元素

? ? ? ? ? ? ? ? ? ? CGPathAddArc函數原理圖

示例代碼4:

 代碼4運行截圖

  • 繪制帶有陰影的圓
  • 不規則陰影代碼:

? ?from:http://nachbaur.com/blog/fun-shadow-effects-using-custom-calayer-shadowpaths

? ? 代碼運行截圖:

不規則陰影路徑的繪制主要使用shadowPath屬性,使用陰影路徑可以大幅提升陰影繪制的性能。?陰影路徑告訴UIKit將路徑內的區域設置為不透明,這減少了渲染引擎的大部分工作。

  • CABasicAnimation中animationKeyPath的屬性值。

? ?from:http://www.cnblogs.com/pengyingh/articles/2379631.html

? CABasicAnimation 為圖層屬性提供了基本的單關鍵幀動畫功能。創建CABasicAnimation實例的一般方法是通過繼承的類方法animationWithKeyPath:,并給出在渲染樹中生成的動畫的關鍵路徑屬性。?

? ?可以通過animationWithKeyPath鍵值對的方式來改變動畫。animationWithKeyPath的值包括針對一般屬性變化和幾何變化兩類。幾何變換包括平移、旋轉、縮放。

如下表所示為幾何變換keypath:

另:CAAnimation的delegate方法:

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag {

? NSLog(@"animation stop");

}

- (void)animationDidStart:(CAAnimation *)theAnimation {

? NSLog(@"animation start");

}

一般的屬性變化包括以下幾個keypath屬性: margin zPosition backgroundColor cornerRadius borderWidth bounds contents contentsRect cornerRadius frame hidden mask masksToBounds opacity position shadowColor shadowOffset shadowOpacity shadowRadius 簡單圖層屬性變化動畫
  • CATransform3D制作3D動畫效果?

?? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? 初始狀態 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 點擊后狀態

  • 路徑動畫示例代碼(商品落入購物車)

from:http://stackoverflow.com/questions/1142727/how-can-i-animate-the-movement-of-a-view-or-image-along-a-curved-path

  • CATransition?類實現了圖層的過度動畫效果。可以通過從預定義的過渡集合中選擇過渡效果,或是提供自定義的CIFilter實例。

? ? ?from:http://www.devdiv.com/home.php?mod=space&uid=8639&do=blog&id=4143

? ? ?其中有些過渡類型沒有出現在Common transition types documentation中。這可能會導致應用被apple store拒絕,但僅僅是可能,因為至今還沒有明確的文檔或資料說使用Core Animation的無文檔的過渡效果API會被apple store拒絕。在iphonedevsdk上也討論過該問題,其中一位回答者談到:“I asked Apple's engineers about this specific issue. They said that officially, undocumented transition effects are just like any other undocumented API feature, and are not allowed.However, their automated tools are not set up to detect using undocumented transitions like they are using undocumented methods, so you may get away with it, and you may not. It's a gamble.”。

代碼部分:

  • [UIView?transitionFromView]?視圖間的切換

? ? ? from:http://stackoverflow.com/questions/3602434/transition-behavior-using-transitionfromview-and-transitionwithview

  • 仿射變換的回退?

CGAffineTransform inverse = CGAffineTransformInvert(CGAffineTransformMakeTranslation(5.0, 5.0));

  • 多個仿射變換的拼接

CGAffineTransform transform = CGAffineTransformConcat(CGAffineTransformMakeScale(1, 1), CGAffineTransformMakeTranslation(-50, -50));

  • 判斷視圖顯示或消失的原因

? ? ? 偶爾我們需要了解視圖顯示和消失的原因,比如說,你可能想知道一個視圖的顯示是因為它被加入到一個容器中還是因為其他遮蔽它的內容被移除才致使它被顯示。一個常見的例子是當使用導航控制器,你的內容控制器視圖可能是因為視圖控制器被壓入導航控制器棧中而被顯示,也有可能是因為在它上面的控制器從棧中被移除致使其顯示。

? ? ? UIViewController類提供一組可以調用以了解視圖的顯示狀態變化的原因,下表是對這些方法的描述與用法。這些方法可以在viewWillAppear:viewDidAppear:,viewWillDisapper:viewDidDisppaer:方法中使用。

方法名  

用法

isMovingFromParentViewController    

viewWillDisappaer:與viewDidDisapper:方法中調用這個方法,用以了解視圖控制器的視圖被隱藏是因為視圖控制器從它的容器控制器中被移除。  

isMovingToParentViewController  

viewWillAppear:和viewDidAppear方法中調用,用以了解視圖控制器的顯示是因為視圖控制器被加入到容器視圖控制器中。

isBeingPresented  

viewWillAppaer:與viewDidApper:方法中調用這個方法,用以了解視圖控制器的視圖被顯示是因為被另外的控制器呈現,如模態呈現

isBeingDismissed  

在viewWillDisappear:和viewDidDisappear方法中調用,用以了解視圖控制器的的隱藏是因為控制器被dismissed

  • parameter 是參數,而 argument 是參數的值。
  • iOS-Best-Practices By Jeff Verkoeyen?from?https://github.com/jverkoey/iOS-Best-Practices.
  • 小女子的總結:from?http://www.cocoachina.com/bbs/read.php?tid=105689

下載地址:http://dl.vmall.com/c0k19fs478

  • 常用的宏 fromhttp://www.cocoachina.com/bbs/read.php?tid=137317
  • UITableview滾動觸發事件

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

{

[self.searchBox resignFirstResponder];

}

  • 去除UITableview多余的空行橫線?

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {

// This will create a "invisible" footer

return 0.01f;

}

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

{

return [UIView new];

}

  • UIPickerView添加圖標行

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row

forComponent:(NSInteger)component reusingView:(UIView *)view {

UILabel *firstLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 0, 60, 32)];

firstLabel.text = [array1 objectAtIndex:row];

firstLabel.textAlignment = UITextAlignmentLeft;

firstLabel.backgroundColor = [UIColor clearColor];

UILabel *secondLabel = [[UILabel alloc] initWithFrame:CGRectMake(165, 0, 60, 32)];

secondLabel.text = [array2 objectAtIndex:row];

secondLabel.textAlignment = UITextAlignmentLeft;

secondLabel.backgroundColor = [UIColor clearColor];

UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%@.png",[countries objectAtIndex:row]]];

UIImageView *icon = [[UIImageView alloc] initWithImage:img];

temp.frame = CGRectMake(170, 0, 30, 30);

UIView *tmpView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 290, 32)] autorelease];

[tmpView insertSubview:icon atIndex:0];

[tmpView insertSubview:firstLabel atIndex:0];

[tmpView insertSubview:secondLabel atIndex:0];

[tmpView setUserInteractionEnabled:NO];

[tmpView setTag:row];

[channelLabel release];

[temp release];

return tmpView;

}

from:http://stackoverflow.com/questions/10128068/uipickerview-showing-images-and-strings

  • iOS中使用自定義字體

Here’s the updated details of how to use custom fonts in iPhone. This is only available for SDK 4.0 and above.

  • Add your custom font files into your project using XCode as resources.
  • Add a key to your info.plist file called “Fonts provided by application” ( Used to be called?UIAppFonts).
  • It’s an array key.
  • For each font you have, enter the full name of your font file (including the extension).
  • Save info.plist.
  • Now in your application you can simply call [UIFont fontWithName:@"CustomFontName" size:12] to get the custom font to use with your UILabels and UITextView.
  • “CustomFontName” is not the font’s file name. It is the font name registered in the operating system. For example, if you try to use “Bauhaus Medium BT.ttf”, the “CustomFontName” should be “Bauhaus Md BT”, no extension “.ttf” is needed. You need to install the font in your system to find out what name it is. Some fonts have 2 names, you may need FontForge to find out and try which one works.
  • So far I found out that both ttf and otf format work out of the box. I haven’t tested other font formats yet.
  • *Points 1-6 credit to http://blog.beefyapps.com/

    • iOS啟動畫面設計的若干建議

    ?try a very simple logo and a solid background. Its a loading screen that is only seen for a few seconds and doesn't need to be fansy., make your splash screen be something that will compress well as a png file. Two things happen, first the pixels are passed through a?filter function?to take advantage of the fact that pixel near each other will have similar values, then they are compressed with the deflate algorithm (same as used by gzip or zlib).

    So some things that can help take advantage of that.
    1) Avoid photos. They have a lot of noise and detail in them which doesn't compress well as png.
    2) If possible, use very few colors. A solid color background with some text on it is going to compress very small. ~100kb for a 1024x768.
    3) Similar to #2, reduce your colors. You don't *really* need a 24bit png file to display on a (probably?) 18-21 bit LCD. Use the photoshop "posterize" command. See if 64 or 32 levels looks ok for your art.
    4) Avoid dithering if possible. Dithering adds a bunch of randomness to the data that compresses poorly.
    5) Less detail means more repetition that the can be compressed.
    6)?Stick with simple linear gradients if possible.

    • 刪除.svn文件腳本

    find ./ -name .svn -exec rm -rf {} \;

    • ?Mac OS 顯示/關閉顯示被隱藏的文件終端命令:

    1.顯示

    defaults write com.apple.finder AppleShowAllFiles -bool true

    KillAll Finder

    2.關閉顯示

    defaults write com.apple.finder AppleShowAllFiles -bool false

    KillAll Finder

    • 關于時間的若干操作 from:http://blog.csdn.net/yangbo_hbzjk/article/details/7625276

    1 // 當前時間創建NSDate

    NSDate *myDate = [NSDate date];

    NSLog(@"myDate = %@",myDate);

    2 //從現在開始的24小時

    NSTimeInterval secondsPerDay = 24*60*60;

    NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay];

    NSLog(@"myDate = %@",tomorrow);

    3//根據已有日期創建日期

    NSTimeInterval secondsPerDay1 = 24*60*60;

    NSDate *now = [NSDate date];

    NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1];

    NSLog(@"yesterDay = %@",yesterDay);

    4//比較日期

    BOOL sameDate = [now isEqualToDate:yesterDay];

    NSLog(@"sameDate = %lu",sameDate);

    4.1//獲取較早的日期

    NSDate *earlierDate = [yesterDay earlierDate:now];

    NSLog(@"earlierDate = %@",earlierDate);

    4.2//較晚的日期

    NSDate *laterDate = [yesterDay laterDate:now];

    NSLog(@"laterDate = %@",laterDate);

    //兩個日期之間相隔多少秒

    NSTimeInterval secondsBetweenDates= [yesterDay timeIntervalSinceDate:now];

    NSLog(@"secondsBetweenDates= %lf",secondsBetweenDates);

    //通過NSCALENDAR類來創建日期

    NSDateComponents *comp = [[NSDateComponentsalloc]init];

    [comp setMonth:06];

    [comp setDay:01];

    [comp setYear:2001];

    NSCalendar *myCal = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar];

    NSDate *myDate1 = [myCal dateFromComponents:comp];

    NSLog(@"myDate1 = %@",myDate1);

    //從已有日期獲取日期

    unsigned units = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit;

    NSDateComponents *comp1 = [myCal components:units fromDate:now];

    NSInteger month = [comp1 month];

    NSInteger year = [comp1 year];

    NSInteger day = [comp1 day];

    //NSDateFormatter實現日期的輸出

    NSDateFormatter *formatter = [[NSDateFormatteralloc]init];

    [formatter setDateStyle:NSDateFormatterFullStyle];//直接輸出的話是機器碼

    //或者是手動設置樣式[formatter setDateFormat:@"yyyy-mm-dd"];

    NSString *string = [formatter stringFromDate:now];

    NSLog(@"string = %@",string);

    NSLog(@"formater = %@",formatter);

    question: Given a NSDate *?startDate?and?endDate?and a NSManagedObjectContext *?moc:

    NSPredicate*predicate =[NSPredicate predicateWithFormat:@"(date >= %@) AND (date <= %@)", startDate, endDate];

    NSFetchRequest*request =[[[NSFetchRequest alloc] init] autorelease];

    [request setEntity:[NSEntityDescription entityForName:@"EntityName" inManagedObjectContext:moc]];

    [request setPredicate:predicate];NSError*error = nil;

    NSArray*results =[moc executeFetchRequest:request error:&error];

    • 添加調試條件

    objc_exception_throw

    • NSMutableSet操作

    - (void)unionSet:(NSSet *)otherSet; // 求并集

    - (void)minusSet:(NSSet *)otherSet; // 求差集

    - (void)intersectSet:(NSSet *)otherSet; // 求交集

    · Block作為形參

    語法:(<返回類型> (^)(參數列表…))<塊名>

    (void (^)(NSURLRequest *request, NSHTTPURLResponse *response, id JSON))success

    • Block類型重定義

    語法:typedef <返回類型> (^類型名)(參數列表);

    typedef void (^MBProgressHUDCompletionBlock)();

    typedef void (^SuccessBlock)(NSURLRequest *request, NSHTTPURLResponse *response, id JSON);

    • 放置在UIScrollView上的UIImageView響應點擊事件

    UIImageView* myImageView;

    myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ic_playvideo.png"]];

    myImageView.userInteractionEnabled = YES;

    UITapGestureRecognizer *pgr = [[UITapGestureRecognizer alloc] initWithTarget:self ?action:@selector(handleTapEvent:)];

    [myImageView addGestureRecognizer:pgr];

    - (void) handleTapEvent: (id)sender {

    UIImageView* touchedImageView = (UIImageView*)((UITapGestureRecognizer *)sender).view;

    }

    • 移除視圖的所有子視圖

    [[myView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];

    • 兩個日期相距的秒數

    NSDate *lastDate = [NSDate date];

    NSDate *todaysDate = [NSDate date];

    NSTimeInterval lastDiff = [lastDate timeIntervalSinceNow];

    NSTimeInterval todaysDiff = [todaysDate timeIntervalSinceNow];

    int intervalSecond = lastDiff - todaysDiff;

    • 限制UITextView字數

    ? - (BOOL)isAcceptableTextLength:(NSUInteger)length {

    ? ? return length <= kWordLimit;

    ? }

    ? - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)string { ?

    ? ? return [self isAcceptableTextLength:textView.text.length + string.length - range.length];

    ? }

    ?

      限制UITextField字數

    - (BOOL)textField:(UITextField *) textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    NSUInteger oldLength = [textField.text length];

    NSUInteger replacementLength = [string length];

    NSUInteger rangeLength = range.length;

    NSUInteger newLength = oldLength - rangeLength + replacementLength;

    BOOL returnKey = [string rangeOfString: @"\n"].location != NSNotFound;

    return newLength <= kWordLimit || returnKey;

    }

    • 方法響應檢測執行

    ?if ([self.delegate respondsToSelector:@selector(dismissPopoverView:)]) {

    [_delegate performSelector:@selector(dismissPopoverView:) withObject:sender];

    }

    •  protocol聲明規范

    @class PlayerDetailsViewController;

    @protocol PlayerDetailsViewControllerDelegate <NSObject>

    - (void)playerDetailsViewControllerDidCancel:(PlayerDetailsViewController *)controller;

    - (void)playerDetailsViewControllerDidSave:(PlayerDetailsViewController *)controller;

    @end

    @protocol PlayerDetailsViewControllerDelegate <NSObject>

    - (void)playerDetailsViewControllerDidCancel:(PlayerDetailsViewController *)controller;

    - (void)playerDetailsViewController:(PlayerDetailsViewController *)controller?didAddPlayer:(Player *)player;

    @end

    • UIBarButtonItem添加間隙

    UIBarButtonItem *fixed;

    fixed = [[UIBarButtonItem alloc]

    initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];

    fixed.width = 8;

    • 對數組排序的三種方法、

    1. 使用比較方法

    - (NSComparisonResult)compare:(Person *)otherObject {

    return [self.birthDate compare:otherObject.birthDate];

    }

    NSArray *sortedArray;

    sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];

    2. 使用NSSortDescriptor(最佳)

    NSSortDescriptor *sortDescriptor;

    sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"birthDate"

    ascending:YES] autorelease];

    NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];

    NSArray *sortedArray;

    sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];

    3. 使用block ()

    NSArray *sortedArray;

    sortedArray = [drinkDetails sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {

    ? NSDate *first = [(Person*)a birthDate]; ?

    ? NSDate *second = [(Person*)b birthDate];

    ? return [first compare:second];

    }];

    • NSSet排序

    NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]];

    NSArray *sortedRecipes = [[recipes allObjects] sortedArrayUsingDescriptors:sortDescriptors];

    • NSSet轉化為NSMutableArray

    NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];

    NSMutableArray *array = [[set allObjects] mutableCopy];

    • 消除NSString首尾空格

    - (NSString *)stringByTrimmingLeadingCharactersInSet:(NSCharacterSet *)characterSet {

    ? NSRange rangeOfFirstWantedCharacter = [self rangeOfCharacterFromSet:[characterSet invertedSet]];

    ? if (rangeOfFirstWantedCharacter.location == NSNotFound) {

    ? ? return @"";

    ? }

    ? return [self substringFromIndex:rangeOfFirstWantedCharacter.location];

    }

    - (NSString *)stringByTrimmingLeadingWhitespaceAndNewlineCharacters {

    ? return [self stringByTrimmingLeadingCharactersInSet:

    ? [NSCharacterSet whitespaceAndNewlineCharacterSet]];

    }

    - (NSString *)stringByTrimmingTrailingCharactersInSet:(NSCharacterSet *)characterSet {

    ? NSRange rangeOfLastWantedCharacter = [self rangeOfCharacterFromSet:[characterSet invertedSet]

    ? options:NSBackwardsSearch];

    ? if (rangeOfLastWantedCharacter.location == NSNotFound) {

    ? ? return @"";

    ? }

    ? return [self substringToIndex:rangeOfLastWantedCharacter.location+1]; // non-inclusive

    }

    - (NSString *)stringByTrimmingTrailingWhitespaceAndNewlineCharacters {

    ? return [self stringByTrimmingTrailingCharactersInSet:

    ? [NSCharacterSet whitespaceAndNewlineCharacterSet]];

    }?

    ?

    • nil是一個對象指針為空,Nil是一個類指針為空,NULL是基本數據類型為空

    id aValue = [arrayWithNull objectAtIndex:0];

    if (aValue == nil) {

    ? NSLog(@"equals nil");

    ? } else if (aValue == [NSNull null]) {

    ? ? NSLog(@"equals NSNull instance");

    ? ? if ([aValue isEqual:nil]) {

    ? ? ? NSLog(@"isEqual:nil");

    ? }

    }

    • 添加DEBUG預處理標記

    ·???????? 獲得一個類的屬性列表?from:?http://stackoverflow.com/questions/754824/get-an-object-attributes-list-in-objective-c

    - (void)myMethod {

    ? unsigned int outCount, i;

    ? objc_property_t *properties = class_copyPropertyList([self class], &outCount);

    ? for(i = 0; i < outCount; i++) {

    ? objc_property_t property = properties[i];

    ? const char *propName = property_getName(property);

    ? if(propName) {

    ? ? const char *propType = getPropertyType(property);

    ? ? NSString *propertyName = [NSString stringWithCString:propName];

    ? ? NSString *propertyType = [NSString stringWithCString:propType];

    ...

    ? }

    }

    free(properties);

    }

    static const char *getPropertyType(objc_property_t property) {

    ? const char *attributes = property_getAttributes(property);

    ? char buffer[1 + strlen(attributes)];

    ? strcpy(buffer, attributes);

    ? char *state = buffer, *attribute;

    ? while ((attribute = strsep(&state, ",")) != NULL) { ?

    ? ? if (attribute[0] == 'T') {

    ? ? ?return (const char *)[[NSData dataWithBytes:(attribute + 3) length:strlen(attribute) - 4] bytes]; ??

    ? ?}

    }

    return "@";

    }

    ·???????? URL中文編碼與解碼

    iOS app開發中,如果需要對url中的中文和特殊字符進行url編碼,一般有兩種方法:

    1. 使用NSString實現encode

    NSString* sURL = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    實現decode

    NSString* sURL = [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    2.使用CFStringRef實現encode

    指定需要編碼的字符

    NSString* sURL = (NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)input, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8);

    如果僅僅只需要編碼中文

    NSString* sURL = (NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)input, NULL, NULL, kCFStringEncodingUTF8);

    實現decode:

    NSMutableString* inputStr = [NSMutableString stringWithString:input];

    [inputStr replaceOccurrencesOfString:@"+" withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [inputStr length])];

    NSString* sURl = [inputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    ·???????? 獲得一個類的實例變量列表

    unsigned int varCount;

    Ivar *vars = class_copyIvarList([MyClass class], &varCount);

    for (int i = 0; i < varCount; i++) {

    ? Ivar var = vars[i];

    ? const char* name = ivar_getName(var);

    ? const char* typeEncoding = ivar_getTypeEncoding(var);

    ? // do what you wish with the name and type here

    }

    free(vars);

    from:?http://stackoverflow.com/questions/1213901/how-do-i-list-all-instance-variables-of-a-class-in-objective-c

    ·???????? 連接NSSet元素,轉化為NSString類型?

    NSSet*set = [NSSet setWithObjects:@"String 1",@"String 2",@"String 3", nil];

    NSString* string = [[set allObjects] componentsJoinedByString:@" "];

    ·???????? Option+command拖動模擬器文件夾到桌面,創建快捷方式

    ·???????? 在何處移除觀察者

    The generic answer would be "as soon as you no longer need the notifications". This is obviously not a satisfying answer.

    I'd recommend, that you add a call?[notificationCenter removeObserver: self]?in methoddealloc?of those classes, which you intend to use as observers, as it is the last chance to unregister an observer cleanly. This will, however, only protect you against crashes due to the notification center notifying dead objects. It cannot protect your code against receiving notifications, when your objects are not yet/no longer in a state in which they can properly handle the notification. For this... See above.

    -(void) dealloc {

    [[NSNotificationCenter defaultCenter] removeObserver:self];

    [super dealloc];

    }

    from:?http://stackoverflow.com/questions/6469209/objective-c-where-to-remove-observer-for-nsnotification

    如果出現在dealloc中移除通知,卻發現dealloc沒有調用,導致發一次通知會調用同樣一段代碼多次。這時候就要注意,因為很明顯當前類沒有被釋放。如果你選擇將添加通知放在viewWillAppear中,移除通知放在viewWillDisappear中,雖然暫時可以將多次調用解決掉。但是類沒有被釋放的問題還是沒有解決。而導致類沒有被釋放的原因很可能就是當前類雖然從navigationController中彈出了或者從父控制器dismiss了,但是還存在對當前類的strong引用,比如代理之類的引用。對于ARC來說,默認是strong引用。此時你只需要在其他類中將對當前類的引用改成weak就可以讓dealloc重新被調用了。有用的討論地址:http://stackoverflow.com/questions/8727316/arc-uinavigationcontroller-stack-not-getting-deallocated-when-presented-as-modal

    ·? ? ? ? ? ? ? ? ? ? ? ? ??添加通知

    - (void)viewDidAppear:(BOOL)animated {

    ? [super viewDidAppear:animated];

    ?

    ? [self checkSyncStatus];

    ?

    ? [[NSNotificationCenter defaultCenter] addObserverForName:@"observerKey" object:nil queue:nil usingBlock:^(NSNotification *note) {

    ? [self loadRecordsFromCoreData];

    ? [self.tableView reloadData];

    ? }];

    ? [[SDSyncEngine sharedEngine] addObserver:self forKeyPath:@"observerKey" options:NSKeyValueObservingOptionNew context:nil];

    }

    ?

    - (void)viewDidDisappear:(BOOL)animated {

    ? [super viewDidDisappear:animated];

    ? [[NSNotificationCenter defaultCenter] removeObserver:self name:@"SDSyncEngineSyncCompleted" object:nil];

    ? [[SDSyncEngine sharedEngine] removeObserver:self forKeyPath:@"syncInProgress"];

    }

    (IBAction)refreshButtonTouched:(id)sender {

    ? [[SDSyncEngine sharedEngine] startSync];

    }

    ?

    - (void)checkSyncStatus {

    ? if ([[SDSyncEngine sharedEngine] syncInProgress]) {

    ? ? [self replaceRefreshButtonWithActivityIndicator];

    ? } else {

    ? ? [self removeActivityIndicatorFromRefreshButton];

    ? }

    }

    ?

    - (void)replaceRefreshButtonWithActivityIndicator {

    ? UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)];

    ? [activityIndicator setAutoresizingMask:(UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin)];

    ? [activityIndicator startAnimating];

    ? UIBarButtonItem *activityItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];

    ? self.navigationItem.leftBarButtonItem = activityItem;

    }

    ?

    - (void)removeActivityIndicatorFromRefreshButton {

    ? self.navigationItem.leftBarButtonItem = self.refreshButton;

    }

    ?

    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context?{

    ? if ([keyPath isEqualToString:@"observerKey"]) {

    ? ? [self checkSyncStatus];

    ? }

    }

    ·? ? ? ? ? ? ? ? ? ? ? ? ??獲取字符串中的數據

    ? ? ? ? 做法1

    NSString *logString = @"user logged (3 attempts)";

    // stringByTrimmingCharactersInSet選取包含在指定字符集中的字符串,invertedSet方法用來獲取所有非數字的字符集

    ?

    NSString *digits = [logString stringByTrimmingCharactersInSet: [[NSCharacterSet decimalDigitCharacterSet] invertedSet]]; NSLog(@"Attempts: %i", [digits intValue]);

    ? ? ? ?輸出:Attempts: 3

    ? ? ? ?做法2

    // 源字符串,觀察該字符串,會發現該字符串的分隔符包括分號和逗號,并且一段英文字符和三段數字分為一組,共分四組

    // 我們的工作就是取出由分號和逗號分割的數據

    NSString *sourceString = @"Los Angeles;8.25;0.580561574;1,Tokyo;1.9;0.643872234;1;Honolulu,0;0;0;Toronto;7.9;5.3322;3;";

    // 創建一個行掃描器

    NSScanner *myScanner = [NSScanner scannerWithString:sourceString];

    NSString *stringValue;

    float theRevenue;

    float thePercent;

    int theRank;

    // 設置一個何時停止掃描的字符集,該字符集用于掃描器向前掃描時停止掃描的條件

    NSCharacterSet *stopSet;

    stopSet = [NSCharacterSet characterSetWithCharactersInString:@";,"];

    // 判斷掃描器是否已經掃描到字符串末尾,到末尾返回YES

    while ([myScanner isAtEnd] == NO) {

    // 掃描器向前掃描源字符串,直到遇到stopSet包含的字符串位置,并將之前掃描到的字符串放入stringValue

    // 與之類似方法有scanUpToString: intoString:

    if ( [myScanner scanUpToCharactersFromSet:stopSet intoString:&stringValue] ) {

    NSLog (@"%@",stringValue);

    }

    // 跳過分號或者逗號字符串,也可以使用scanCharactersFromSet: intoString方法

    if([myScanner scanString:@";" intoString:NULL] || [myScanner scanString:@"," intoString:NULL]);

    // 獲取浮點數

    if([myScanner scanFloat:&theRevenue])

    NSLog(@"%lf",theRevenue);

    if([myScanner scanString:@";" intoString:NULL] || [myScanner scanString:@"," intoString:NULL]);

    if([myScanner scanFloat:&thePercent])

    NSLog(@"%lf",thePercent);

    if([myScanner scanString:@";" intoString:NULL] || [myScanner scanString:@"," intoString:NULL]);

    if([myScanner scanInt:&theRank])

    NSLog(@"%i",theRank);

    if([myScanner scanString:@";" intoString:NULL] || [myScanner scanString:@"," intoString:NULL]);

    }

    ·???????? ? ? ? 獲取視圖的父視圖所對應的控制器

    - (UIViewController*)viewControllerOfSuperView: (UIView*) subView?{

    for (UIView* next = [subView superview]; next; next = next.superview){

    ? UIResponder* nextResponder = [next nextResponder];

    ? if ([nextResponder isKindOfClass:[UIViewController class]])?{

    ? ? ? return (UIViewController*)nextResponder;

    ? ?}

    }

    ? return nil;

    }

    ·? ? ? ? ? ? ? ? ? ? ? ?異步多任務完成后,執行指定操作

    dispatch_group_t group = dispatch_group_create();

    MyCoreDataObject *coreDataObject;

    dispatch_group_enter(group);

    AFHTTPRequestOperation *operation1 = [[AFHTTPRequestOperation alloc] initWithRequest:request1];

    [operation1 setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

    coreDataObject.attribute1 = responseObject;

    sleep(5);

    dispatch_group_leave(group);

    }];

    [operation1 start];

    dispatch_group_enter(group);

    AFHTTPRequestOperation *operation2 = [[AFHTTPRequestOperation alloc] initWithRequest:request1];

    [operation2 setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

    coreDataObject.attribute2 = responseObject;

    sleep(10);

    dispatch_group_leave(group);

    }];

    [operation2 start];

    dispatch_group_wait(group, DISPATCH_TIME_FOREVER);

    dispatch_release(group);

    [context save:nil];

    ·???????? 數組過濾查找

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type == %@", @"standard"];

    NSArray *filteredArray = [myArray filteredArrayUsingPredicate:predicate];

    id firstFoundObject = nil;

    if ([filteredArray count] > 0) {

    ? firstFoundObject = [filteredArray objectAtIndex:0];

    }

    ·? ? ? ??CAScrollLayer的使用

    -(void) setupLayers{

    ? CALayer* mainLayer = self.layer;

    ? CGFloat midX = CGRectGetMidX( mainLayer.frame );

    ? CGFloat midY = CGRectGetMidY( mainLayer.frame );

    ? CAScrollLayer* contentContainer = [CAScrollLayer layer];

    ? contentContainer.bounds = mainLayer.bounds;

    ? currentX=contentContainer.bounds.origin.x;

    ? contentContainer.anchorPoint = CGPointMake(0.5,0.5);

    ? contentContainer.position = CGPointMake( midX, midY );

    ? [self.layer addSublayer:contentContainer];

    ? self.bookRootLayer = contentContainer;

    ? contentContainer.name = @"scrollLayer";

    ? contentContainer.scrollMode = kCAScrollHorizontally;

    ? for (int i=0;i<[self.booksArray count];i++){

    ? ? CALayer *singleLayer=[CALayer layer];

    ? ? //homebrew shadow

    ? ? CALayer *shadowLayer=[CALayer layer];

    ? ? shadowLayer.contents=(id)[UIImage imageNamed:@"bookshadow.png"].CGImage;

    ? ? shadowLayer.frame=CGRectMake(i*100, (self.frame.size.height-118), 91, 118);

    ? ? shadowLayer.name=[NSString stringWithFormat:@"shadow-%d",i];

    ? ? [self.bookRootLayer addSublayer:shadowLayer];

    ? ? NSDictionary *singleBook=[self.booksArray objectAtIndex:i];

    ? ?[singleLayer setContents:(id)[(UIImage*)[singleBook objectForKey:@"imgdata"] CGImage]];

    ? ?singleLayer.frame=CGRectMake(i*100+4, (self.frame.size.height-115), 82, 110);

    ? ?singleLayer.name=[NSString stringWithFormat:@"layer-%d",i];

    ? ?[self.bookRootLayer addSublayer:singleLayer];

    ? ? ((CAScrollLayer*)self.bookRootLayer).frame =CGRectMake(0, (self.frame.size.height-110), (i+1)*100, 118);

    ? ?}

    }

    ·????????  移動CAScrollLayer

    [self.bookRootLayer scrollToPoint:CGPointMake(100,0)];

    ·???????? ? ?選取特定Layer

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{

    ? CGPoint touchLocation = [[touches anyObject] locationInView:self];

    ? CALayer *hitLayer=[self.bookRootLayer hitTest:touchLocation];

    ? NSLog(@"LayerName: %@", [hitLayer name]);

    }

    ·????????  點擊UITableViewCell上的UIButton控件,獲取指定的NSIndexPath

    -(void)OnTouchBtnInCell:(UIButton *)btn

    {

    ? CGPoint point = btn.center;

    ? point = [table convertPoint:point fromView:btn.superview];

    ? NSIndexPath* indexpath = [table indexPathForRowAtPoint:point];

    ? UITableViewCell *cell = [table cellForRowAtIndexPath:indexpath];

    }

    ·???????? 在滾動的時候降低圖片畫質,提升滾動時的渲染性能

    UIImage* highResolution = [UIImage imageNamed:@"CuriousFrog.png"];

    NSData* dateFromJPEG = UIImageJPEGRepresentation(highResolution, 0.1f);

    UIImage* lowResolution = [UIImage imageWithData:dateFromJPEG];

    NSLog(@"%d", [dateFromJPEG length]);

    ·???????? NSTimer的用法

    1)?預定計時器?&?使用選擇器

    NSTimer*t =[NSTimer scheduledTimerWithTimeInterval:2.0

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? target: self

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? selector:@selector(onTick:)

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??userInfo: nil

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?repeats:NO];

    ·???????? 如果將repeats參數設為NO,定時器將在等待2秒鐘之后執行選擇器,最后將停止。

    ·???????? 如果repeatsYES,定時器將立即開始,并且每2秒調用一次選擇器。

    ·???????? 通過調用定時器的實例方法invalidate,并將定時器置為nil。以停止定時器。?

    2)?自預定定時器

    NSDate*d =[NSDate dateWithTimeIntervalSinceNow:60.0];

    NSTimer*t =[[NSTimer alloc] initWithFireDate: d interval:1 target:self selector:@selector(onTick:)userInfo:nil repeats:YES];

    NSRunLoop*runner =[NSRunLoop currentRunLoop];

    [runner addTimer:t forMode:NSDefaultRunLoopMode];

    這將創建一個在指定的日期內開始的定時器(上面例子中的定時器會在1分鐘之后開始),并會每秒鐘重復一次。

    判斷針對當前app的定位服務是否開啟

    [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized

    ·???????? 取點擊的位置

    CGPoint point1=[self.bookRootLayer convertPoint:touchLocation fromLayer:self.layer];

    NSLog(@"click point: %f, %f",point1.x, point1.y);

    轉載于:https://www.cnblogs.com/xdream86/archive/2012/12/17/2821305.html

    總結

    以上是生活随笔為你收集整理的iOS代码工具箱的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    欧美精品小视频 | 欧美日韩精品综合 | 精品国产欧美 | 久久99精品国产一区二区三区 | 色网av | 国产裸体永久免费视频网站 | 免费福利影院 | 美女黄网站视频免费 | 久久精品999| 天天操比| 五月婷婷电影网 | a天堂一码二码专区 | 天堂av网站 | 97超碰在线人人 | 国产亚洲情侣一区二区无 | 人人插人人费 | 九九在线精品视频 | 狠狠插狠狠操 | 99久久爱| 激情五月综合网 | 国产色婷婷精品综合在线手机播放 | 91av电影| 91女人18片女毛片60分钟 | 国产在线a | 有码视频在线观看 | 操操日| 在线看不卡av| 99热精品久久 | 国产成人精品一区二区三区免费 | 99精品久久久久久久久久综合 | 操操操日日日 | 韩日精品中文字幕 | 美女网站免费福利视频 | 在线观看完整版免费 | 91av播放 | 亚洲一区精品二人人爽久久 | 欧美日韩不卡在线观看 | 成人一区电影 | 亚洲成成品网站 | 蜜臀久久99静品久久久久久 | 免费观看一级特黄欧美大片 | 五月天综合色激情 | 国产区第一页 | 97精品国产aⅴ | wwwwww黄 | 69国产精品视频免费观看 | 免费激情在线电影 | 久久黄色片 | 西西人体www444 | 男女视频久久久 | 99热高清 | 日韩在线一级 | 五月激情六月丁香 | 成人午夜在线观看 | 欧美成人黄色 | 综合激情久久 | 亚洲精品免费在线视频 | 成人亚洲网 | 精品91在线 | 综合国产在线观看 | 色综合久久88 | 精品亚洲免费视频 | 中文在线a√在线 | 国内成人综合 | 人人爽久久久噜噜噜电影 | 最新av在线网站 | 国产精品久久久久久久久久久免费看 | 五月开心激情网 | 六月色| 亚洲精品影视在线观看 | 中文字幕免费在线 | 99精品在线观看视频 | 亚洲欧美少妇 | 久久久www成人免费毛片 | 九九热在线观看视频 | 久久久久久97三级 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 美女视频黄免费的 | 69av在线播放 | 欧美午夜精品久久久久久浪潮 | 色播99| 亚洲国产一区二区精品专区 | 成人一级在线观看 | 91一区啪爱嗯打偷拍欧美 | 亚洲va欧美 | 国产午夜视频在线观看 | 黄色精品国产 | 久久免费国产视频 | 色婷婷国产 | 日本精品视频一区二区 | bbbbb女女女女女bbbbb国产 | 在线a视频 | 在线视频99| 视频一区二区视频 | 国产视频亚洲精品 | 狠狠狠色丁香综合久久天下网 | 福利二区视频 | 亚洲永久精品在线 | 日韩欧美一区二区在线观看 | 成人免费xxxxxx视频 | 米奇狠狠狠888 | 91麻豆精品国产91久久久久久 | 国产99久久九九精品免费 | 色综合在 | 国产精品久久久久久久久久免费 | 日日天天 | 久久超碰99 | 在线观看黄网站 | 国产在线精品一区二区不卡了 | 在线三级播放 | 亚洲精品h | 日韩精品免费一区二区在线观看 | 色噜噜狠狠狠狠色综合久不 | 婷婷伊人综合亚洲综合网 | 成年人av在线播放 | 成人久久18免费网站图片 | 欧美日韩在线观看一区二区 | 精品一区二区在线观看 | www激情久久| 久久综合九色综合欧美就去吻 | 久久久色 | 人人爽人人干 | 香蕉影视app | 中文字幕精品www乱入免费视频 | 中文字幕av在线电影 | 国产精品久久久久9999 | 日韩视频在线观看免费 | 国产成人精品日本亚洲999 | 国产精品成人一区二区 | 成人97视频 | 婷婷久久网站 | 夜夜骑日日| 五月婷婷在线播放 | 九九激情视频 | 久久久久久久久亚洲精品 | 日韩精品视频在线观看网址 | 少妇高潮流白浆在线观看 | 久久天堂影院 | 精品在线视频观看 | 中文字幕国产亚洲 | 日韩精品电影在线播放 | 日韩高清在线看 | 国产三级久久久 | 美女福利视频在线 | 日日夜夜网| 日韩在线 一区二区 | 中午字幕在线观看 | 91影视成人 | 日韩欧美精品在线视频 | 欧美激情xxxx性bbbb | 国产高清第一页 | 国产成人av一区二区三区在线观看 | 超碰97成人 | 在线日韩精品视频 | 亚洲永久精品在线观看 | 在线免费观看亚洲视频 | 国内精品久久影院 | 三级av在线免费观看 | 又紧又大又爽精品一区二区 | 天堂成人在线 | 极品久久久久久久 | 狠狠色狠狠色综合日日小说 | 精品美女在线视频 | av电影免费在线看 | 国产97在线播放 | 二区三区在线视频 | 久久99网站 | 婷婷在线精品视频 | 成人网页在线免费观看 | 天堂网一区二区 | 亚洲永久精品在线 | 欧美大香线蕉线伊人久久 | 色婷婷激情五月 | 婷婷丁香花五月天 | 激情网在线观看 | 日日骑 | 久久免费毛片视频 | 亚洲最新av网址 | 日本高清中文字幕有码在线 | 国产精品嫩草55av | 久久99精品久久久久久久久久久久 | 激情丁香婷婷 | 国产超碰97| 顶级bbw搡bbbb搡bbbb | 欧美日韩视频在线播放 | 在线精品在线 | 99久热在线精品视频成人一区 | 国产精品日韩欧美一区二区 | 国产一级二级视频 | 六月色婷婷 | 色精品视频| 久久久99精品免费观看乱色 | 蜜桃视频在线观看一区 | 成年人黄色免费网站 | 国产精品va在线播放 | 美女黄频在线观看 | 涩涩在线 | 国产午夜视频在线观看 | 麻豆精品在线 | 亚洲日本中文字幕在线观看 | 91在线视频精品 | 久久午夜精品影院一区 | 九九热av | 人人射人人爽 | www.五月天婷婷 | 91麻豆免费视频 | 久久久九九 | 久久高清毛片 | 爱爱av网站 | 国产麻豆剧传媒免费观看 | 精品字幕在线 | 国产精品日韩在线播放 | 又污又黄的网站 | 亚洲精品久久视频 | 国产精品久久久久久一二三四五 | 成 人 黄 色视频免费播放 | 日本不卡一区二区 | 天天舔天天射天天操 | 麻豆94tv免费版 | 曰本三级在线 | 高清国产午夜精品久久久久久 | 精品国产伦一区二区三区免费 | 中文字幕一区二区三区四区 | a爱爱视频| 在线看小早川怜子av | 国产剧情一区二区 | 国产在线不卡一区 | 黄色在线成人 | 在线国产欧美 | av网站在线免费观看 | 日本精品一区二区三区在线播放视频 | 91网免费观看 | a在线观看国产 | 欧美在线观看禁18 | 成人av日韩| 色www.| 国产精品美女久久久久久2018 | 亚洲va天堂va欧美ⅴa在线 | a午夜在线 | 韩国一区二区av | 久久久综合香蕉尹人综合网 | 久久久久国产免费免费 | 在线观看视频 | 久久人人添人人爽添人人88v | 人人插人人看 | av丝袜天堂 | 久久观看最新视频 | 91影视成人| 天天av在线播放 | 久久不卡视频 | 婷婷av网站| 91在线视频 | 亚洲精品小视频 | 久久久久久久久毛片精品 | 色综合久久88色综合天天人守婷 | 免费看的黄色的网站 | 国产一区欧美在线 | 久久久久看片 | 天天色天天操综合网 | 天天干天天干天天色 | 欧美精品免费视频 | a成人v在线| 九九热久久久 | 美女搞黄国产视频网站 | 日韩免费电影在线观看 | 日本精品一区二区三区在线观看 | 亚洲天天综合网 | 亚洲性视频 | 色九色| 2024av| 99视频精品全部免费 在线 | 99精品国产99久久久久久福利 | 一区二区三区四区在线免费观看 | 国产在线欧美日韩 | 69国产精品成人在线播放 | wwwwww国产| 99婷婷狠狠成为人免费视频 | 欧美91精品国产自产 | 久草在线| 亚洲动漫在线观看 | 久久国产精品99精国产 | 国产精品久久久久久久免费观看 | 国产亚洲一级高清 | 久久久高清一区二区三区 | 国产在线高清 | 国产成人久 | 一级片观看 | 亚洲精品一区二区精华 | 精品不卡av | 九九在线视频免费观看 | 91av在线播放 | 日韩高清一区二区 | 国产一级片毛片 | 99日韩精品 | 成人国产精品入口 | 伊人永久 | 五月天色站 | 免费观看av网站 | 精品毛片在线 | 久黄色 | 毛片激情永久免费 | 成人免费观看完整版电影 | 精品欧美一区二区精品久久 | 亚洲成av人片一区二区梦乃 | av日韩中文| 久草免费资源 | 蜜臀久久99静品久久久久久 | 99久久国产免费免费 | 手机在线欧美 | 日韩动态视频 | 亚洲免费a | 国外调教视频网站 | 欧美一区二区在线刺激视频 | 在线观看免费视频 | 一级α片 | 久久综合狠狠综合 | 免费成人短视频 | 国产原创在线 | 人人草人 | 国产高清视频 | 一区二区三区在线电影 | 91中文字幕网 | 天天天操天天天干 | 成人黄色免费在线观看 | 美女国产免费 | 在线视频欧美日韩 | 91精品视频导航 | 久久人人爽爽人人爽人人片av | 黄色一级动作片 | 一区二区三区手机在线观看 | 久久全国免费视频 | 色欲综合视频天天天 | 日韩在线观看a | 国产色久 | 久草网站在线 | 日日干av | 黄色小说在线免费观看 | 亚洲国产久 | 在线精品观看国产 | 91看片淫黄大片一级在线观看 | 91精品国产欧美一区二区 | 国产精品久久久久久久久久久久午夜片 | 欧美日韩中文字幕综合视频 | 日韩av一区二区在线播放 | 久草影视在线 | 中文字幕日本在线观看 | 亚洲精品视频免费看 | 亚洲一区二区精品在线 | 九九视频这里只有精品 | 黄色亚洲大片免费在线观看 | 欧美日韩在线播放 | 免费在线观看av网站 | 91中文字幕在线播放 | 岛国av在线不卡 | 久久av中文字幕片 | www激情com | 中文字幕在线一二 | 在线电影 一区 | 三级av免费 | 99精品视频在线观看视频 | 波多野结衣一区 | 国产视频一二区 | 免费视频成人 | 久久视精品 | 国产精品成人一区二区三区吃奶 | 在线观看日本韩国电影 | 色婷婷丁香| 一区二区三区在线看 | 亚洲乱码精品久久久久 | 伊人婷婷综合 | 99久久这里有精品 | 国产精品一区二区在线 | 久草久草视频 | 日韩国产精品一区 | 久久免费视频在线观看 | 欧美日韩在线免费视频 | 国产午夜精品一区二区三区嫩草 | av成人免费在线 | 最新中文字幕在线播放 | 欧美成人在线免费观看 | 国产日韩欧美在线播放 | 黄色小说18 | 精品美女久久久久久免费 | 国产精品一区二区av麻豆 | 中文字幕日韩精品有码视频 | 四虎成人免费影院 | 玖草影院| 亚洲国产视频直播 | 香蕉网在线播放 | 国产97色在线 | 国产999精品久久久影片官网 | 国产视频亚洲精品 | 国产超碰在线观看 | 国产精品 日韩 欧美 | 亚洲在线黄色 | 一区二区三区 中文字幕 | 久久免费视频一区 | 欧美激情综合五月色丁香 | 免费黄色网址大全 | 最近最新中文字幕视频 | 黄色亚洲大片免费在线观看 | 成人三级av| 国产探花 | 久草在线免费色站 | 97视频免费在线看 | 国产精品久久久久一区二区三区共 | 亚洲成熟女人毛片在线 | 日韩xxxxxxxxx| 欧美日韩另类在线 | 成人黄色大片在线观看 | 亚洲伦理一区二区 | 在线看v片 | 久久狠狠亚洲综合 | 亚洲精品成人网 | 超碰97成人 | 国产福利午夜 | 精品一区二区亚洲 | 日本三级香港三级人妇99 | 正在播放亚洲精品 | 免费成人在线视频网站 | 国产综合在线视频 | 成人免费xxxxxx视频 | 精品一区av | 久久久久久久久久久精 | 久草在线中文888 | 日韩日韩日韩日韩 | 国产裸体永久免费视频网站 | www.福利 | 成人精品一区二区三区中文字幕 | av在线电影免费观看 | 91精品一区国产高清在线gif | 国产精品一区二区吃奶在线观看 | 18岁免费看片 | 日韩免费电影网站 | 亚洲人人av | 丁香六月网 | 日本不卡123 | 免费看黄在线网站 | 国产91在线观看 | 日韩精品免费在线视频 | 亚洲精品小区久久久久久 | 成人三级视频 | 亚洲精品免费在线 | 黄www在线观看| 黄色三级在线观看 | 婷婷六月天综合 | 欧洲精品视频一区二区 | 色综合久久88 | 亚洲天堂精品视频在线观看 | 综合婷婷| 激情综合五月天 | 久久综合婷婷综合 | av大全免费在线观看 | 久草热视频 | 精品久久久久久一区二区里番 | 精品国产视频在线观看 | 国产亚洲精品精品精品 | 99在线视频免费观看 | 欧美成人tv | 日韩手机视频 | 久久视频精品在线观看 | 日韩高清毛片 | 久久精品99精品国产香蕉 | 国产视频 亚洲视频 | 亚洲视频2 | 午夜精品久久久久久久99热影院 | 国产精品一区二区在线观看 | 久久久国产精品一区二区三区 | 超碰精品在线观看 | 伊人资源视频在线 | 免费观看性生活大片 | 午夜久操| 国产精品一区二区三区在线看 | 免费男女羞羞的视频网站中文字幕 | 亚洲激情在线播放 | 在线亚洲人成电影网站色www | 国产精品18久久久久久不卡孕妇 | 国产精品美女免费视频 | 99九九99九九九视频精品 | 久久成人福利 | 国产成人精品一区一区一区 | 四虎影院在线观看av | 亚洲精品在线视频观看 | 免费日韩一区二区三区 | 99久久网站 | 欧美在线一二 | 尤物九九久久国产精品的分类 | 免费h精品视频在线播放 | 麻豆传媒视频在线播放 | 精品999久久久 | 国产精品久久久久久久久久直播 | www五月 | 日韩av手机在线观看 | 日韩国产精品毛片 | 日韩欧美在线不卡 | 97超碰免费| 99久久精品免费看国产一区二区三区 | 色综合咪咪久久网 | 中文字幕免费久久 | 国产精品久久久久婷婷二区次 | 成人av影视在线 | 欧洲激情综合 | 国产乱对白刺激视频在线观看女王 | 毛片精品免费在线观看 | 极品久久久久久久 | 亚洲 欧美 成人 | 成片视频免费观看 | 最新日韩视频 | 亚洲三级网 | 黄色网址在线播放 | 成年美女黄网站色大片免费看 | 日本二区三区在线 | 欧美性性网 | 久久久久久久久久久综合 | 久久精品专区 | 日韩午夜网站 | 99久久精品免费看国产免费软件 | 中文不卡视频在线 | 在线免费国产视频 | 97超碰免费在线观看 | 国产专区视频在线 | 欧美极品在线播放 | 亚洲不卡av一区二区三区 | 亚洲欧美日韩精品久久久 | 国产一区网址 | 色网站在线观看 | 一二三区高清 | 国产欧美精品一区二区三区 | 在线 成人 | 香蕉视频在线免费 | 99视频精品全国免费 | 婷婷激情在线 | 国产福利在线不卡 | 狠狠操狠狠操 | 日韩高清一区二区 | 久草在线观看视频免费 | 国产成人亚洲精品自产在线 | 婷婷网五月天 | 98久久| 国产精品乱码久久 | av在线播放免费 | 香蕉蜜桃视频 | 成人在线免费视频 | 欧美日韩国产色综合一二三四 | 免费的黄色av | 99视频精品免费观看, | 亚洲成人黄 | 99视频免费播放 | 黄色三级网站 | 午夜视频在线观看一区 | 五月天久久 | 国产亚洲精品久久19p | 国产精品黑丝在线观看 | 久草视频手机在线 | 久久 地址 | 99久久精品免费一区 | 久久天堂网站 | 免费在线播放黄色 | 日韩激情三级 | 天堂av色婷婷一区二区三区 | 精品久久久久一区二区国产 | 国产精品美女久久 | 91亚洲精品久久久中文字幕 | 欧美一级片免费播放 | 开心色插 | 国产精品一区二区中文字幕 | 久久久麻豆精品一区二区 | 久久久96| 精品国自产在线观看 | 久操视频在线观看 | 中文字幕电影在线 | 精品在线观看一区二区 | 亚洲国产中文字幕在线观看 | 免费看的黄色小视频 | 中文字幕免费在线 | 国产精品女同一区二区三区久久夜 | 国产精品自产拍在线观看网站 | 免费观看完整版无人区 | 亚洲成人动漫在线观看 | 久久网址 | 久久精品99久久久久久2456 | 免费国产在线视频 | 国产亚洲精品久久久久久无几年桃 | 国产精品video爽爽爽爽 | av短片在线观看 | av电影免费 | 亚洲高清资源 | 日韩一区二区三区在线看 | 黄a在线 | 亚洲一区二区高潮无套美女 | 欧美亚洲专区 | 粉嫩av一区二区三区四区五区 | 91伊人久久大香线蕉蜜芽人口 | 欧美日韩国产综合一区二区 | 最近中文字幕大全中文字幕免费 | 中文字幕av最新 | www黄色大片 | 亚洲精品视频二区 | 日韩av一区在线观看 | 国产中文字幕在线播放 | 人人干天天射 | 一区二区国产精品 | 日本三级不卡 | 欧美黄色软件 | av在线免费观看不卡 | 国产欧美高清 | 久在线观看视频 | 日韩一区二区在线免费观看 | 国内久久久久 | 综合网欧美 | 久草av在线播放 | 婷婷深爱五月 | 色永久免费视频 | 日韩在线短视频 | 丁香视频| 在线观看一区二区精品 | 国产裸体bbb视频 | 视频 国产区 | 一区二区三区四区免费视频 | 国产视频美女 | 国产在线观看免费av | 麻豆一精品传二传媒短视频 | 国产黄色片免费 | 欧美日韩免费观看一区二区三区 | 国产精品一区在线观看你懂的 | 国产系列 在线观看 | 香蕉视频网站在线观看 | 免费在线黄网 | 伊人伊成久久人综合网小说 | 日韩高清在线观看 | 在线视频精品播放 | 日本激情视频中文字幕 | 久亚洲 | 999久久精品| 中文在线字幕免 | 99视频+国产日韩欧美 | 91亚洲精品久久久中文字幕 | 97视频网站| 中文字幕国内精品 | 香蕉精品视频在线观看 | av女优中文字幕在线观看 | 久久人人爽人人爽人人片 | 欧美久草视频 | 日韩欧美一级二级 | 色婷婷97 | 夜夜骑天天操 | 人人草在线观看 | 国产午夜精品一区 | 夜夜操夜夜干 | 涩涩爱夜夜爱 | 在线观看成人毛片 | 在线va网站 | 国产一区私人高清影院 | 久久精品黄| 99精品国产一区二区 | 99精品在线 | 亚洲自拍偷拍色图 | 在线观看国产www | 一级黄色大片在线观看 | 亚洲国产精品99久久久久久久久 | 亚洲欧美一区二区三区孕妇写真 | 九九热国产视频 | www久久99| 最近日本中文字幕a | 草久视频在线观看 | 精品一区 在线 | 国产无套一区二区三区久久 | 国产中文在线观看 | 欧美日韩观看 | 中文字幕专区高清在线观看 | 97精品国产97久久久久久久久久久久 | 成年免费在线视频 | 天天操夜夜逼 | 国产 日韩 中文字幕 | 成人在线播放视频 | 欧美va天堂在线电影 | 一级免费黄色 | 超碰免费观看 | 一区二区高清在线 | 99综合影院在线 | 九九热国产 | 欧美日韩亚洲在线观看 | 亚洲高清视频在线观看免费 | 久久久黄视频 | 91麻豆精品91久久久久同性 | 国产这里只有精品 | 91av电影在线观看 | 成年人免费在线播放 | 成人av视屏 | 久草在线视频在线观看 | 午夜av在线电影 | 99色视频在线| 久草资源在线观看 | 激情大尺度视频 | 欧美午夜剧场 | 国产男男gay做爰 | 色国产精品一区在线观看 | 性色xxxxhd | 五月婷婷开心 | 国产成人精品午夜在线播放 | 国产四虎在线 | 国产一卡二卡在线 | 久草在线中文视频 | 99精品视频在线观看视频 | 夜夜躁天天躁很躁波 | 国产99久久久国产精品 | 免费毛片一区二区三区久久久 | 国产你懂的在线 | 中文字幕第一页在线vr | 一区二区激情视频 | 91精品久久久久久久91蜜桃 | 中文字幕国产一区二区 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 国产1区2 | 一区二区三区高清在线观看 | 日韩高清片 | 国产欧美精品一区二区三区 | 四虎小视频 | 国产亚洲激情视频在线 | 99视频一区二区 | 日韩免费小视频 | 91.麻豆视频| 日韩在线视频线视频免费网站 | 国产成人精品不卡 | 国产精品999久久久 久产久精国产品 | 亚洲国产成人在线 | 视频直播国产精品 | 免费福利小视频 | 久久中文视频 | 欧美日韩在线观看视频 | 中文字幕乱码日本亚洲一区二区 | 青青草视频精品 | 97超碰国产精品 | 国产免费区 | 992tv在线观看 | 人人爽人人av | 福利视频网站 | 五月婷婷激情 | 午夜久久影视 | 精品一区在线看 | 92中文资源在线 | 最近中文字幕国语免费高清6 | 日韩午夜剧场 | av片无限看 | 99国产精品久久久久久久久久 | 免费三级网 | 欧美精品在线免费 | 亚洲女人天堂成人av在线 | 久久免费黄色 | 国产免费中文字幕 | 国产一二三精品 | 久久在线电影 | 成 人 黄 色 视频 免费观看 | 国产啊v在线观看 | 中文字幕一区在线观看视频 | 天天夜夜亚洲 | 色综合久久88色综合天天免费 | 精品久久久久一区二区国产 | 亚洲精品久久激情国产片 | 手机av资源 | 免费看毛片网站 | 超碰在线免费福利 | 亚洲精品乱码久久久久久写真 | 午夜神马福利 | 欧美,日韩 | 国产高清视频在线观看 | 视频二区在线视频 | 国产精品美女久久久久久久 | 国产一区在线不卡 | 久久免费视频在线 | 三级av片 | 亚洲乱亚洲乱妇 | 91激情| 国产 在线观看 | 中文字幕视频一区 | 免费视频一区二区 | 中文字幕国产一区二区 | 99热999| 午夜av在线电影 | 日韩欧美视频二区 | av 在线观看 | 99久久久国产免费 | 中文av资源站 | 日韩免费观看av | 人人舔人人爱 | 国产91亚洲| 亚洲电影av在线 | 久久www免费人成看片高清 | www.成人精品| 在线观av | 国外av在线 | www.香蕉视频在线观看 | 亚洲国产一区av | 日韩视频免费 | 精品久久久久免费极品大片 | 久久久久观看 | 夜夜躁天天躁很躁波 | av电影在线免费 | 在线高清av | 国产精品国产三级国产不产一地 | 激情久久久久久久久久久久久久久久 | 在线国产视频观看 | 国产一级a毛片视频爆浆 | 黄色a级片在线观看 | 91在线精品播放 | 天天艹 | av短片在线 | 亚洲精品国产自产拍在线观看 | 久久久2o19精品 | 国产精品video爽爽爽爽 | 日韩大片在线免费观看 | 亚洲精品国产精品国自产观看浪潮 | 国产精品毛片一区视频播不卡 | 欧美韩日视频 | 91精品一区二区在线观看 | 色网免费观看 | 欧美极品一区二区三区 | 日韩欧美视频在线播放 | 中文字幕乱码日本亚洲一区二区 | 国产亚洲91 | 探花视频网站 | 丁香婷婷色综合亚洲电影 | 在线观看黄色免费视频 | 午夜精品视频免费在线观看 | 在线岛国av| 中文字幕电影在线 | 日一日操一操 | 欧美成人精品欧美一级乱黄 | 激情欧美一区二区免费视频 | 成人在线免费观看视视频 | 国产最顶级的黄色片在线免费观看 | 最近中文字幕大全中文字幕免费 | 99在线观看免费视频精品观看 | 亚洲精品伦理在线 | 亚洲成av| 午夜精品视频一区二区三区在线看 | 欧美日韩三级在线观看 | 天天色天| 三级av免费看 | av免费观看高清 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产精品免费视频网站 | 国产精品99免费看 | 国产麻豆精品95视频 | 日韩色区 | 91在线91 | 免费观看一级成人毛片 | 超碰在线公开免费 | 国产精品成人在线观看 | 中文字幕免费不卡视频 | 五月综合色 | 日韩在线大片 | 国产女v资源在线观看 | 中文字幕 婷婷 | 亚洲一级片在线观看 | 欧美午夜视频在线 | 国产成人免费高清 | 欧洲亚洲精品 | 日韩精品一区二区三区三炮视频 | 中文字幕九九 | 国产破处在线播放 | 色综合激情久久 | 国产午夜精品一区二区三区在线观看 | 在线免费观看的av | 日韩系列在线 | 日韩欧美中文 | 欧美精品二区 | 国产精品久久久久婷婷二区次 | www成人av | www.久久99| 五月婷婷激情网 | 日韩素人在线观看 | 97偷拍视频 | 中文字幕二区三区 | 精品久久福利 | 欧美日韩中文国产一区发布 | 四虎精品成人免费网站 | 亚洲精品国偷拍自产在线观看 | 国产在线观看高清视频 | 一区二区三区在线观看中文字幕 | 97视频资源 | 久久99亚洲网美利坚合众国 | 久久综合婷婷综合 | 99久久9 | 欧美日韩中 | 欧美日韩后| 黄色官网在线观看 | www.com黄色 | 综合久久久久 | 国产日韩欧美视频 | 欧美在线aa | 五月婷婷一区二区三区 | 亚洲日本精品视频 | 国产在线精品国自产拍影院 | 2021国产在线 | 精品视频9999 | av在线免费播放 | 久久久久久久久久久免费视频 | 少妇性xxx | 欧美污污视频 | 国产最新在线观看 | 国产91免费在线 | 久久久久亚洲最大xxxx | 999久久久国产精品 高清av免费观看 | 波多野结衣视频一区 | 狠狠操精品 | 欧美日韩国产在线观看 | 婷婷色在线资源 | 国产乱码精品一区二区三区介绍 | 免费观看全黄做爰大片国产 | 伊人五月天综合 | 97色在线| 国产五月天婷婷 | 一区免费观看 | 免费观看www7722午夜电影 | 亚州中文av | 亚洲日本va午夜在线影院 | 久久成人精品视频 | 国产亚洲精品久久久久久移动网络 | 欧美日韩在线观看一区二区 | 中文字幕在线观看播放 | 国产不卡一 | 91精品久久香蕉国产线看观看 | 午夜久久美女 | 久久久久久久久免费 | 亚洲视频 一区 | 久久精品2| 欧美成人精品三级在线观看播放 | 精品国产网址 | 日韩久久久久久 | 欧美高清成人 | 久久久久久激情 | 天天插日日射 | 国产不卡片 | 亚洲精品国产精品久久99热 | av黄色av| 久久九九久久九九 | 91成品视频 | 天堂在线视频免费观看 | 免费观看全黄做爰大片国产 | 成人资源在线 | 久热精品国产 | 久久综合色天天久久综合图片 | 欧美色综合天天久久综合精品 | 黄色资源在线观看 | 91视频中文字幕 | 在线观看视频日韩 | 91精品国产三级a在线观看 | 91精品国产麻豆国产自产影视 | 国产无吗一区二区三区在线欢 | 欧美大码xxxx| 四虎成人精品永久免费av | 中文字幕中文中文字幕 | 夜夜躁狠狠躁日日躁视频黑人 | 国产精品自产拍在线观看网站 | 免费视频久久久 | 友田真希x88av| 91超碰在线播放 | 五月亚洲综合 | 狠狠久久综合 | 久久久婷 | 狠狠操在线 | 91成人短视频在线观看 | 视频国产在线 | 国产精品99久久久久人中文网介绍 | 伊人婷婷 | 99久久精品无免国产免费 | 久草在线中文视频 | 天天操天天操天天操 | 国产又粗又猛又爽又黄的视频先 | 69视频在线播放 | 91免费在线视频 | 深爱激情五月网 | 黄色在线观看免费 | 日本久久不卡视频 | 91av九色 | 成人一级电影在线观看 | 日韩在线 | 成人午夜av电影 | 国产精品欧美久久久久久 | 免费黄色av片 | 69国产精品视频 | 麻豆小视频在线观看 | 久章操 | 日韩欧美视频在线观看免费 | 一区二区三区电影 | 五月天六月婷婷 | 亚洲国内在线 | 国产高清小视频 | 丁香在线观看完整电影视频 | 亚洲国产精品成人女人久久 | 中文字幕电影高清在线观看 | 国产色视频网站2 | 成年一级片| 奇米影视999 | 中文字幕在线看人 | 国产精品国产亚洲精品看不卡15 | 91|