最后更新时间 - 2018.02.08
问题或功能的记录
- 使用字面量转换 CGRect、CGSize、CGPoint 为 NSValue
用法:@(value)
CGRect rect = CGRectMake(0, 0, 100, 200);
CGSize size = CGSizeMake(100, 200);
CGPoint point = CGPointMake(50, 100);
NSValue *value = @(point);
NSLog(@"%@", value);
NSLog(@"%@", @(point));
- 下载文件获取不到Content-Length
// 需要在请求头增加 Accept-Encoding
[request setValue:@"Identity" forHTTPHeaderField:@"Accept-Encoding"];
- GCD 延迟操作可以取消
dispatch_block_t block = dispatch_block_create(0, ^{
NSLog(@"时间到啦!");
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), block);
// 取消block的执行
dispatch_block_cancel(block);
- NSMutableData 在获取 bytes 的时候不稳定,可能出现奇怪的问题,最好 copy 一下,使用不可变的对象来获取 bytes。
NSData * data = [mutableData copy];
const char * bytes = [data bytes];
- 用户截屏通知
UIApplicationUserDidTakeScreenshotNotification
- 计算 size 在 rect 内居中的矩形
AVMakeRectWithAspectRatioInsideRect(CGSizeMake(100, 30), CGRectMake(0, 0, 300, 200));
- 使用字面量将 char * 类型快速转换为 NSString 类型;
const char *c = "string";
NSString *str = @(c);