去除数组中的重复元素
NSArray *newArr = [oldArr valueForKeyPath:@“@distinctUnionOfObjects.self"];
禁止黑屏
[UIApplication sharedApplication].idleTimerDisabled = YES;
Core Foundation中关于RunLoop的5个类
CFRunLoopRef - 获得当前RunLoop和主RunLoop
CFRunLoopModeRef RunLoop - 运行模式,只能选择一种,在不同模式中做不同的操作
CFRunLoopSourceRef - 事件源,输入源
CFRunLoopTimerRef - 定时器时间
CFRunLoopObserverRef - 观察者RunLoop处理逻辑总结
- 通知观察者 run loop 已经启动
- 通知观察者将要开始处理Timer事件
- 通知观察者将要处理非基于端口的Source0
- 启动准备好的Souecr0
- 如果基于端口的源Source1准备好并处于等待状态,立即启动:并进入步骤9
- 通知观察者线程进入休眠
- 将线程置于休眠直到任一下面的事件发生
改:
(1)某一事件到达基于端口的源
(2)定时器启动
(3)Run loop 设置的时间已经超时
(4)run loop 被显式唤醒
(1)Source0事件源
(2)Timer定时器启动
(3)外部手动唤醒- 通知观察者线程将被唤醒
- 处理未处理的事件,跳回2
改:
(1)如果用户定义的定时器启动,处理定时器事件并重启 run loop。进入步骤 2
(2)如果输入源启动,传递相应的消息
(3)如果 run loop 被显式唤醒而且时间还没超时,重启 run loop。进入步骤 2
Source1在处理的时候回分发一些操作给Source0去处理,Source0中可能存在一些Timer出现,所以会回到第二步重新处理Timer和Source0 ,处理完后 到第五步,直到没有Source1,没有事情可做,进入休眠状态,当外部有事件就会立即唤醒RunLoop- 通知观察者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;
}