- 博客(56)
- 收藏
- 关注
转载 信号量与并发控制
代码1 - 未使用信号量控制并发:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; dispatch_as...
2017-08-31 22:15:00 220
转载 枚举与字符串映射
代码:#import <Foundation/Foundation.h>typedef NS_ENUM(NSUInteger, NetworkStatus){ NetworkStatusGood = 0, NetworkStatusBad};NSString * const NetworkStatusNameMapping[] ...
2017-01-22 19:39:00 841
转载 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 206
转载 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 108
转载 具有提示功能的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 209
转载 模拟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 140
转载 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 126
转载 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 198
转载 CIImage与二维码图片生成
代码:#import "ViewController.h"#import <CoreImage/CoreImage.h>@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; UIImage *qrImage = [self qrCode...
2016-12-23 20:33:00 193
转载 Runtime与方法交换
代码:@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; [self func1]; [self func2]; // 方法交换 Method m1 = class_getInstanceMethod([self ...
2016-12-14 10:07:00 92
转载 文件下载与NSOutputStream
代码:#import "ViewController.h"@interface ViewController () <NSURLConnectionDataDelegate>@property (nonatomic, strong) NSOutputStream *outputStream;@end@implementation Vie...
2016-12-10 21:08:00 144
转载 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 86
转载 RunLoop与线程保活
代码:#import "ViewController.h"@interface ViewController ()@property (nonatomic, weak) NSThread *thread;@end@implementation ViewController- (void)viewDidLoad { [super ...
2016-11-13 17:43:00 155
转载 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 474
转载 单例模式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 99
转载 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 126
转载 手动管理GCD调度组
本文通过模拟当前流行的网络框架AFNetworking的使用,来演示手动管理GCD调度组的过程。代码:AFHTTPRequestOperationManager.h:#import <Foundation/Foundation.h>@interface AFHTTPRequestOperationManager : NSObject+ (...
2016-09-03 22:41:00 103
转载 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 368
转载 使用谓词与正则表达式判定字符串形式
代码:#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { // 待判定的字符串 NSString *str = @"Hello World"; // 正则表达式字...
2016-08-20 14:18:00 140
转载 JavaScript之读取属性特征
使用Object.getOwnPropertyDescriptor方法读取属性特征'use strict';var person = { };Object.defineProperties(person, { _age: { configurable: true, writable: true, en...
2016-08-14 18:55:00 92
转载 JavaScript之定义属性
方式1使用Object.defineProperty定义单个属性'use strict';var person = { };// 定义数据属性Object.defineProperty(person, '_age', { configurable: true, writable: true, enumerable: true,...
2016-08-14 18:27:00 122
转载 动态方法getElementsByTagName()
代码:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>getElementsByTagName</title> <script type="text/java...
2016-02-27 15:16:00 283
转载 description和debugDescription方法
代码:#import <Foundation/Foundation.h>/****************************** * Person类 ******************************/@interface Person : NSObject@end@implementation Person...
2015-12-27 16:20:00 153
转载 UITableView的tableFooterView属性
代码:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // 注释或取消注释以下代码,会使得tableVi...
2015-11-15 14:06:00 147
转载 NSTimer与循环引用
代码:#import "ViewController.h"@interface ViewController ()@property (strong, nonatomic) NSTimer *timer;- (void)doSomething:(NSTimer *)timer;@end@implementation ViewControll...
2015-09-03 13:44:00 75
转载 Swift类实例与循环引用的解决
代码-情形1:// 两个属性的值都允许为nil,这种场景最适合用弱引用来解决class Person { let name: String init(name: String) { self.name = name } // 弱引用 var apartment: Apartment? deinit ...
2015-08-20 17:23:00 81
转载 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 140
转载 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 108
转载 Swift枚举-相关值与递归枚举
代码:enum ArithmeticExpression { // 相关值 case Number(Int) // 递归枚举 indirect case Addition(ArithmeticExpression, ArithmeticExpression) indirect case Multiplication(Arithme...
2015-08-16 21:03:00 120
转载 互斥锁、自旋锁、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 127
转载 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 72
转载 原子属性和使用互斥锁实现的属性的性能对比
代码:#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 169
转载 [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 101
转载 [HDOJ]_PID_2087_剪花布条
题目:Problem Description一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不...
2015-06-23 22:36:00 78
转载 通知与线程
代码:@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; /// 添加通知中心观察者 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiv...
2015-06-18 18:58:00 77
转载 iOS设备真机调试与证书未经授权机构签名的问题
近日,在帮朋友的电脑配置真机调试证书的时候遇到如下问题。朋友他自己并没有购买付费版的个人开发者账号,而是找他另一个购买了付费版个人开发者账号的朋友帮忙生成的真机调试证书,期间我朋友仅仅是提供了一下自己的UDID,并得到了2个文件,一个是.p12文件一个是.mobileprovision文件。按照以往经验,首先双击打开.p12文件,再打开.mobileprovision,通常此时已...
2015-05-16 09:16:00 342
转载 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 102
转载 选择排序
代码:/************************************************** * 选择排序 * * 参考:算法导论 第3版 第一部分 第2章 2.2 * * 本例中,数组的第0个位置存放的数值无意义,不参与程序运行过程 **************************************************/...
2015-05-10 18:30:00 62
转载 插入排序
代码:/************************************************** * 插入排序 * * 参考:算法导论 第3版 第一部分 第2章 2.1 * * 本例中,数组的第0个位置存放的数值无意义,不参与程序运行过程 **************************************************/...
2015-05-10 00:10:00 60
转载 另类的异或_有道难题_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 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人