tips

去除数组中的重复元素

NSArray *newArr = [oldArr valueForKeyPath:@“@distinctUnionOfObjects.self"];

禁止黑屏

[UIApplication sharedApplication].idleTimerDisabled = YES;

Core Foundation中关于RunLoop的5个类

CFRunLoopRef - 获得当前RunLoop和主RunLoop
CFRunLoopModeRef RunLoop - 运行模式,只能选择一种,在不同模式中做不同的操作
CFRunLoopSourceRef - 事件源,输入源
CFRunLoopTimerRef - 定时器时间

CFRunLoopObserverRef - 观察者

153738_qZqj_3153110.png

RunLoop处理逻辑总结 

  1. 通知观察者 run loop 已经启动
  2. 通知观察者将要开始处理Timer事件
  3. 通知观察者将要处理非基于端口的Source0
  4. 启动准备好的Souecr0
  5. 如果基于端口的源Source1准备好并处于等待状态,立即启动:并进入步骤9
  6. 通知观察者线程进入休眠
  7. 将线程置于休眠直到任一下面的事件发生
    改:
    (1)某一事件到达基于端口的源
    (2)定时器启动
    (3)Run loop 设置的时间已经超时
    (4)run loop 被显式唤醒
    (1)Source0事件源
    (2)Timer定时器启动
    (3)外部手动唤醒
  8. 通知观察者线程将被唤醒
  9. 处理未处理的事件,跳回2
    改:
    (1)如果用户定义的定时器启动,处理定时器事件并重启 run loop。进入步骤 2
    (2)如果输入源启动,传递相应的消息
    (3)如果 run loop 被显式唤醒而且时间还没超时,重启 run loop。进入步骤 2
    Source1在处理的时候回分发一些操作给Source0去处理,Source0中可能存在一些Timer出现,所以会回到第二步重新处理Timer和Source0 ,处理完后 到第五步,直到没有Source1,没有事情可做,进入休眠状态,当外部有事件就会立即唤醒RunLoop
  10. 通知观察者run loop 结束

IOS中的修改placeholder的颜色和大小

[textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];

[textField setValue:[UIFont boldSystemFontOfSize:16] forKeyPath:@"_placeholderLabel.font"];

imageView的圆角实现

 

- (UIImage *)circleImage

{

    // NO代表透明

    UIGraphicsBeginImageContextWithOptions(self.size, NO, 1);

    // 获得上下文

    CGContextRef ctx = UIGraphicsGetCurrentContext();

    // 添加一个圆

    CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);

    // 方形变圆形

    CGContextAddEllipseInRect(ctx, rect);

    // 裁剪

    CGContextClip(ctx);

    // 将图片画上去

    [self drawInRect:rect];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return image;

}

 

转载于:https://my.oschina.net/u/3153110/blog/1031441

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值