美文网首页
YYKit---NSObject+YYAdd的学习使用

YYKit---NSObject+YYAdd的学习使用

作者: 给伤的你我依然喜欢 | 来源:发表于2017-06-30 16:34 被阅读87次

-(nullable id)performSelectorWithArgs:(SEL)sel, ...;

与- (void)performSelector:(SEL)sel afterDelay:(NSTimeInterval)delay;差不多

立即执行方法sel,使用如下:

1.无arg :[view performSelectorWithArgs:@selector(removeFromSuperView)];

2.arg不是对象:[view performSelectorWithArgs:@selector(setCenter:),CGPointMake(0,0)];

3.arg是对象、且返回值是对象UIImage *image=[UIImage.class performSelectorWithArgs:@selector(imageWithData:sxale:),data,2.0];//这个好像运行不了

4.NSNumber *lengthValue=[@"hello" performSelectorWithArgs:@selector(length)];

NSUinteger length=lengthValue.unsignIntegerValue;

5.NSValue *frameValue=[view performSelectorWithArgs:@selector(frame)];

CGRect frame=frameValue.CGRectValue

ps.该方法在任何线程调用有效。与SEL sel的方法的线程是一致的


-(void)performSelectorWithArgs:(SEL)sel afterDelay:(NSTimeInterVal)delay,...;

过delay秒后执行sel,使用如下:

1.无arg [view performSelectorWithArgs:@selector(removeFromSuperView) afterDelay:2.0];

2.有arg [view performSelector:@selector(setCenter:) afterDelay:2.0,CGPointMake(0,0)];

这个可用于提交资料成功以后,过几秒推回上一个界面。

ps.该方法在子线程不起作用 ,要在主线程调用


-(nullable id)performSelectorWithArgsOnMainThred:@sel waitUntilDone:(BOOL)wait,...;

1.[view performSelectorWithArgsOnMainThread:@selector(removeFromSuperView), waitUntilDone:NO];

//variable arg is not object

2.[view performSelectorWithArgsOnMainThread:@selector(setCenter:), waitUntilDone:NO, CGPointMake(0, 0)];

wait,为no的时候表示异步操作。yes同步操作,要等Sel执行玩才进行下一步。


- (nullable id)performSelectorWithArgs:(SEL)sel onThread:(NSThread *)thread waitUntilDone:(BOOL)wait, ...;

thread 自己传,我测试子线程方法sel不走。待解决


- (void)performSelectorWithArgsInBackground:(SEL)sel, ...;

sel 在子线程运行

相关文章

  • YYKit---NSObject+YYAdd的学习使用

    -(nullable id)performSelectorWithArgs:(SEL)sel, ...; 与- (...

  • 2018-12-24

    学习使用mackdown 学习使用mackdown 学习使用mackdown 学习使用mackdown 学习使用m...

  • nlp入门笔记——Task 5 word2vec相关知识

    学习目标 学习word2vec的使用和基础原理 学习使用TextCNN、TextRNN进行文本表示 学习使用HAN...

  • Flask-WTF源码学习

    Goals: 学习使用WTForms. 学习使用Flask-WTF 学习使用如何写Flask插件. 学习什么是CS...

  • 学习使用

    vertical [ˈvə:tikəl] 垂直 horizontal scroll 英 [ˌhɔriˈz...

  • 使用python机器学习(四)

    前面三篇文章《使用python机器学习(一)》、《使用python机器学习(二)》、《使用python机器学习(三...

  • 关于留校的计划

    7.12 复习ADC、PWM波的使用 7.13 学习DAC的使用 7.14 完成键盘的学习使用(初步) 7.15 ...

  • Random Forest和Gradient Tree Boos

    使用sklearn进行集成学习——实践 系列 《使用sklearn进行集成学习——理论》 《使用sklearn进行...

  • Random Forest和Gradient Tree Boos

    使用sklearn进行集成学习——理论 系列 《使用sklearn进行集成学习——理论》 《使用sklearn进行...

  • RxBus的学习使用

    最近看到好多框架在使用RxBus代替EventBus,所以记录学习一下。第一步:当前版本为1.0.6引入依赖 第二...

网友评论

      本文标题:YYKit---NSObject+YYAdd的学习使用

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