美文网首页
iOS - 功能 & 问题 - 持续更新

iOS - 功能 & 问题 - 持续更新

作者: 简了个书1993 | 来源:发表于2017-08-21 16:17 被阅读12次
最后更新时间 - 2018.02.08

问题或功能的记录


  1. 使用字面量转换 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));

  1. 下载文件获取不到Content-Length
// 需要在请求头增加 Accept-Encoding
[request setValue:@"Identity" forHTTPHeaderField:@"Accept-Encoding"];

  1. 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);

  1. NSMutableData 在获取 bytes 的时候不稳定,可能出现奇怪的问题,最好 copy 一下,使用不可变的对象来获取 bytes。
NSData * data = [mutableData copy];
const char * bytes = [data bytes];

  1. 用户截屏通知
UIApplicationUserDidTakeScreenshotNotification

  1. 计算 size 在 rect 内居中的矩形
AVMakeRectWithAspectRatioInsideRect(CGSizeMake(100, 30), CGRectMake(0, 0, 300, 200));

  1. 使用字面量将 char * 类型快速转换为 NSString 类型;
const char *c = "string";
NSString *str = @(c);

相关文章

网友评论

      本文标题:iOS - 功能 & 问题 - 持续更新

      本文链接:https://www.haomeiwen.com/subject/bithdxtx.html