ios34---GDC,dispatch_once
生活随笔
收集整理的這篇文章主要介紹了
ios34---GDC,dispatch_once
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//
// ViewController.m
// 09-掌握-GCD常用函數
//
// Created by xiaomage on 16/2/18.
// Copyright ? 2016年 小碼哥. All rights reserved.
//
#import "ViewController.h"
#import "XMGPerson.h"@interface ViewController ()@end@implementation ViewController-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
// [self once];
XMGPerson *p1 = [[XMGPerson alloc]init];XMGPerson *p2 = [[XMGPerson alloc]init];NSLog(@"%@---%@",p1.books,p2.books);
}//延遲執行
-(void)delay
{NSLog(@"start-----");//1. 延遲執行的第一種方法//[self performSelector:@selector(task) withObject:nil afterDelay:2.0];//2.延遲執行的第二種方法//[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(task) userInfo:nil repeats:YES];//3.GCD
// dispatch_queue_t queue = dispatch_get_main_queue();dispatch_queue_t queue = dispatch_get_global_queue(0, 0);/*第一個參數:DISPATCH_TIME_NOW 從現在開始計算時間第二個參數:延遲的時間 2.0 GCD時間單位:納秒第三個參數:隊列*/dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), queue, ^{NSLog(@"GCD----%@",[NSThread currentThread]);});}//一次性代碼
//不能放在懶加載中的,應用場景:單例模式
-(void)once
{static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{ //整個項目生命周期只執行一次,多次調用都不會執行多次NSLog(@"---once----");});
}-(void)task
{NSLog(@"task----%@",[NSThread currentThread]);
}
@end //
// XMGPerson.h
// 09-掌握-GCD常用函數
//
// Created by xiaomage on 16/2/18.
// Copyright ? 2016年 小碼哥. All rights reserved.
//
#import <Foundation/Foundation.h>@interface XMGPerson : NSObject@property (nonatomic, strong) NSArray *books;
@end //
// XMGPerson.m
// 09-掌握-GCD常用函數
//
// Created by xiaomage on 16/2/18.
// Copyright ? 2016年 小碼哥. All rights reserved.
//
#import "XMGPerson.h"@implementation XMGPerson-(NSArray *)books
{
// if (_books == nil) {
// _books = @[@"1234",@"56789"];
// }static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{ //只執行一次_books = @[@"1234",@"56789"];});return _books;
}
@end
?
本文轉自農夫山泉別墅博客園博客,原文鏈接:http://www.cnblogs.com/yaowen/p/7517736.html,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的ios34---GDC,dispatch_once的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行卡不收不付冻结一般多久 银行卡不收不
- 下一篇: 华为是否有国家控股