![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios开发
树直屏
活在梦里
展开
-
运行时用法
1、静态方法Method m1 = class_getClassMethod([self class], @selector(run));Method m2 = class_getClassMethod([self class], @selector(study));method_exchangeImplementations(m1, m2);[self.class run];[self.c原创 2017-03-28 11:43:55 · 232 阅读 · 0 评论 -
本地推送的实现
1、注册本地推送 ViewContoller.m- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [[UIApplication sharedApplication] cancelAllLoca原创 2017-06-28 15:35:44 · 225 阅读 · 0 评论 -
ios避免button多次连续点击跳转到多个页面
说明:这个代码我是网上找来的,忘记了出处了,抱歉 1、创建一个名称为Click的button分类 UIbutton+Click.h#import <UIKit/UIKit.h>@interface UIButton (WXD)/** * 为按钮添加点击间隔 eventTimeInterval秒 */@property (nonatomic, assign) NSTimeInterval原创 2017-06-26 09:47:39 · 1983 阅读 · 0 评论 -
ios单例的实现
+ (instancetype)shareInstance { static NetworkInterface * shareInstance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ shareInstance = [[NetworkInterface alloc] ini原创 2017-07-12 19:02:57 · 256 阅读 · 0 评论 -
ios GCD 用法
1、GCD线程dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // 耗时的操作 dispatch_async(dispatch_get_main_queue(), ^{ // 更新界面 }); });2、GCD延时di原创 2017-07-03 11:03:41 · 296 阅读 · 0 评论 -
ios tableView复用UITableViewHeaderFooterView
1、创建一个类继承于UITableViewHeaderFooterView,命名为HeadView 2、创建HeadView.xib,吧HeadView.xib的class设置为HeadView。 3、具体代码 HeadView.m#import "ViewController.h"#import "HeadView.h"@interface ViewController ()<UITabl原创 2017-06-30 16:07:04 · 9592 阅读 · 0 评论 -
ios转场动画
1、push效果- (void)yc_transition:(UIView *)view { CATransition *transtion = [CATransition animation]; [transtion setStartProgress:.2]; [transtion setEndProgress:.8];//设置动画进度,貌似平时用不上 transt原创 2017-06-29 10:58:27 · 285 阅读 · 0 评论 -
KVC与KVO的用法
[self.label addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];- (IBAction)click:(id)sender { self.label.text = @"hh"; NSString *原创 2017-03-27 14:35:28 · 224 阅读 · 0 评论 -
正则表达式的用法
NSString *str = @"13056258745.9"; NSString *regex = @"^[1][3-8]\\d{9}$"; NSPredicate *pre = [NSPredicate predicateWithFormat:@"self matches %@",regex]; if ([pre evaluateWithObject:str]) {原创 2017-03-27 14:06:25 · 220 阅读 · 0 评论 -
谓词的用法
1、筛选字符NSArray *arr2 = @[@"但是饭",@"时候"];NSPredicate *pre2 = [NSPredicate predicateWithFormat:@"self contains '饭'"];NSArray *res = [arr2 filteredArrayUsingPredicate:pre2];2、 3、筛选modelModel *m1 = [[Mode原创 2017-03-27 12:05:42 · 400 阅读 · 0 评论 -
UICollectionView的用法
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]原创 2017-03-27 11:43:18 · 280 阅读 · 0 评论 -
ios协议的用法
1、协议头文件UserDelegate.h@protocol UserDelegate <NSObject>@required- (void)refresh;@optional- (void)refresh_optional;@end2、协议的遵循者,实现者import "ViewController.h"#import "PresentController.h"#import "U原创 2017-03-29 16:17:00 · 419 阅读 · 0 评论 -
iOS超好用的计时器HeartBeat
一、HeartBeat的介绍HeatBeat计时器通过一个实例可以同时管理app中多个单一或者多个页面的计时,即使页面关闭了也可以继续计时。HeatBeat计时器使用简单明了,性能卓越。可便捷的应用于各种倒计时场景(如消息发送倒计时、商品优惠倒计时等等)。https://github.com/stccon/HeartBeat二、如何使用HeartBeat1、swift项目使用方式...原创 2018-11-14 11:52:31 · 593 阅读 · 0 评论