自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

转载 信号量与并发控制

代码1 - 未使用信号量控制并发:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; dispatch_as...

2017-08-31 22:15:00 200

转载 枚举与字符串映射

代码:#import <Foundation/Foundation.h>typedef NS_ENUM(NSUInteger, NetworkStatus){ NetworkStatusGood = 0, NetworkStatusBad};NSString * const NetworkStatusNameMapping[] ...

2017-01-22 19:39:00 820

转载 Block与参数

以下2行代码中的block1与block2的类型是不同的,block1是不定参数的block,而block2是无参数的blockvoid(^block1)();void(^block2)(void);下面的代码展示了一个参数不定的block的使用的例子:#import "ViewController.h"typedef NS_ENUM(NSUInteg...

2017-01-22 19:23:00 191

转载 Sublime Text 小计

若欲在Mac的终端中快速启动Sublime Text,可在~/.bash_profile文件中添加如下配置命令:alias sublime="open -a 'Sublime Text'"# 或alias sublime='open -b com.sublimetext.3'之后可使用sublime命令快速启动Sublime Text:$ sublime...

2017-01-20 19:36:00 91

转载 具有提示功能的KeyPath宏

宏的定义:#define KeyPath(obj, keyPath) @(((void)obj.keyPath, #keyPath))示例代码:#import "ViewController.h"#define KeyPath(obj, keyPath) @(((void)obj.keyPath, #keyPath))@implementatio...

2017-01-03 20:43:00 194

转载 模拟UIView类的-hitTest:withEvent:方法系统实现

代码:- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { if (!self.isUserInteractionEnabled || self.isHidden || self.alpha <= 0.01) { return nil; } ...

2017-01-02 10:17:00 126

转载 runtime与动态添加方法

代码-ViewController.m:#import "ViewController.h"#import "Dog.h"@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; Dog *dog = [[Dog alloc] init];...

2016-12-28 21:43:00 108

转载 Objc的class属性

代码-Manager.h文件:#import <Foundation/Foundation.h>@interface Manager : NSObject@property (nonatomic, strong, class, readonly) Manager *sharedManager;@property (nonatomic, copy...

2016-12-26 13:24:00 182

转载 CIImage与二维码图片生成

代码:#import "ViewController.h"#import <CoreImage/CoreImage.h>@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; UIImage *qrImage = [self qrCode...

2016-12-23 20:33:00 180

转载 Runtime与方法交换

代码:@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; [self func1]; [self func2]; // 方法交换 Method m1 = class_getInstanceMethod([self ...

2016-12-14 10:07:00 78

转载 文件下载与NSOutputStream

代码:#import "ViewController.h"@interface ViewController () <NSURLConnectionDataDelegate>@property (nonatomic, strong) NSOutputStream *outputStream;@end@implementation Vie...

2016-12-10 21:08:00 127

转载 GCD定时器

代码:@interface ViewController ()@property (nonatomic, strong) dispatch_source_t timer;@end@implementation ViewController- (void)touchesBegan:(NSSet<UITouch *> *)touches w...

2016-12-06 13:53:00 64

转载 RunLoop与线程保活

代码:#import "ViewController.h"@interface ViewController ()@property (nonatomic, weak) NSThread *thread;@end@implementation ViewController- (void)viewDidLoad { [super ...

2016-11-13 17:43:00 140

转载 NSOperationQueue的maxConcurrentOperationCount属性

代码:NSOperationQueue *queue = [[NSOperationQueue alloc] init];queue.maxConcurrentOperationCount = 2;for (NSUInteger i = 1; i <= 10; ++i) { [queue addOperationWithBlock:^{ ...

2016-11-03 22:23:00 463

转载 单例模式Singleton-OC版

代码-.h文件:#import <Foundation/Foundation.h>@interface Instance : NSObject+ (instancetype)sharedInstance;@end代码-.m文件:#import "Instance.h"@implementation Instance...

2016-11-01 23:33:00 86

转载 dispatch_barrier_async函数的作用

代码:dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT);dispatch_async(queue, ^{ NSLog(@"Before Barrier Block - 1");});dispatch_async(queue, ^{ ...

2016-10-31 23:14:00 109

转载 手动管理GCD调度组

本文通过模拟当前流行的网络框架AFNetworking的使用,来演示手动管理GCD调度组的过程。代码:AFHTTPRequestOperationManager.h:#import <Foundation/Foundation.h>@interface AFHTTPRequestOperationManager : NSObject+ (...

2016-09-03 22:41:00 86

转载 OC中的静态成员变量

代码:main.m:#import <Foundation/Foundation.h>#import "MyObject.h"int main(int argc, const char * argv[]) { @autoreleasepool { [MyObject setFlag:YES]; NSLog(...

2016-08-31 19:45:00 349

转载 使用谓词与正则表达式判定字符串形式

代码:#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { // 待判定的字符串 NSString *str = @"Hello World"; // 正则表达式字...

2016-08-20 14:18:00 127

转载 JavaScript之读取属性特征

使用Object.getOwnPropertyDescriptor方法读取属性特征'use strict';var person = { };Object.defineProperties(person, { _age: { configurable: true, writable: true, en...

2016-08-14 18:55:00 82

转载 JavaScript之定义属性

方式1使用Object.defineProperty定义单个属性'use strict';var person = { };// 定义数据属性Object.defineProperty(person, '_age', { configurable: true, writable: true, enumerable: true,...

2016-08-14 18:27:00 105

转载 动态方法getElementsByTagName()

代码:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>getElementsByTagName</title> <script type="text/java...

2016-02-27 15:16:00 257

转载 description和debugDescription方法

代码:#import <Foundation/Foundation.h>/****************************** * Person类 ******************************/@interface Person : NSObject@end@implementation Person...

2015-12-27 16:20:00 137

转载 UITableView的tableFooterView属性

代码:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // 注释或取消注释以下代码,会使得tableVi...

2015-11-15 14:06:00 135

转载 NSTimer与循环引用

代码:#import "ViewController.h"@interface ViewController ()@property (strong, nonatomic) NSTimer *timer;- (void)doSomething:(NSTimer *)timer;@end@implementation ViewControll...

2015-09-03 13:44:00 58

转载 Swift类实例与循环引用的解决

代码-情形1:// 两个属性的值都允许为nil,这种场景最适合用弱引用来解决class Person { let name: String init(name: String) { self.name = name } // 弱引用 var apartment: Apartment? deinit ...

2015-08-20 17:23:00 65

转载 Swift运算符函数与自定义运算符

代码:struct Vector2D { var x = 0.0, y = 0.0}// vector1 + vector2func + (left: Vector2D, right: Vector2D) -> Vector2D { return Vector2D(x: left.x + right.x, y: left.y + righ...

2015-08-20 10:32:00 122

转载 Swift延迟存储属性

代码:class MyClass { // 写法1 lazy var str1: String = String() // 写法2 lazy var str2: String = { return String() }() // 写法3 lazy v...

2015-08-17 14:51:00 92

转载 Swift枚举-相关值与递归枚举

代码:enum ArithmeticExpression { // 相关值 case Number(Int) // 递归枚举 indirect case Addition(ArithmeticExpression, ArithmeticExpression) indirect case Multiplication(Arithme...

2015-08-16 21:03:00 107

转载 互斥锁、自旋锁、dispatch_once性能对比

代码:#import <Foundation/Foundation.h>#import <pthread.h>extern uint64_t dispatch_benchmark(size_t count, void (^block)(void));// pthread_mutex_lockvoid dispatch_once_pt...

2015-08-16 16:46:00 114

转载 Swift闭包与简化

代码:// 定义一个数组,使用sort函数对其排序let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]// 完整形式names.sort( { (s1: String, s2: String) -> Bool in return s1 > s2})// 尾随闭包形式...

2015-08-15 11:21:00 54

转载 原子属性和使用互斥锁实现的属性的性能对比

代码:#import "ViewController.h"extern uint64_t dispatch_benchmark(size_t count, void (^block)(void));@interface ViewController ()// 原子属性 - 互斥锁实现@property (strong, nonatomic) NSObj...

2015-08-11 13:15:00 151

转载 [HDOJ]_PID_1004_Let the Balloon Rise

题目:Problem DescriptionContest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When t...

2015-06-23 22:40:00 82

转载 [HDOJ]_PID_2087_剪花布条

题目:Problem Description一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不...

2015-06-23 22:36:00 60

转载 通知与线程

代码:@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; /// 添加通知中心观察者 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiv...

2015-06-18 18:58:00 65

转载 iOS设备真机调试与证书未经授权机构签名的问题

近日,在帮朋友的电脑配置真机调试证书的时候遇到如下问题。朋友他自己并没有购买付费版的个人开发者账号,而是找他另一个购买了付费版个人开发者账号的朋友帮忙生成的真机调试证书,期间我朋友仅仅是提供了一下自己的UDID,并得到了2个文件,一个是.p12文件一个是.mobileprovision文件。按照以往经验,首先双击打开.p12文件,再打开.mobileprovision,通常此时已...

2015-05-16 09:16:00 297

转载 Git Sheet

CreateClone an existing repositorygit clone ssh://user@domain.tld/repo.gitClone an existing repository and all its sub-modules recursivelygit clone --recursive ssh://user@domain.tld...

2015-05-11 21:53:00 87

转载 选择排序

代码:/************************************************** * 选择排序 * * 参考:算法导论 第3版 第一部分 第2章 2.2 * * 本例中,数组的第0个位置存放的数值无意义,不参与程序运行过程 **************************************************/...

2015-05-10 18:30:00 49

转载 插入排序

代码:/************************************************** * 插入排序 * * 参考:算法导论 第3版 第一部分 第2章 2.1 * * 本例中,数组的第0个位置存放的数值无意义,不参与程序运行过程 **************************************************/...

2015-05-10 00:10:00 48

转载 另类的异或_有道难题_2010网易编程挑战赛

题目:描述: 对于普通的异或,其实是二进制的无进位的加法。这里我们定义一种另类的异或A op B, op是一个仅由^组成的字符串,如果op中包含n个^,那么A op B表示A和B之间进行n+1进制的无进位的加法。下图展示了3 ^ 5 和 4 ^^ 5的计算过程: 0 1 1 (3)^ 1 0 1 (5)--------- 1...

2015-05-09 19:37:00 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除