2 vcsatanial vcsatanial 于 2016.09.22 18:14 提问

IOS延迟执行的一个问题

我需要调用传入一个值返回一个值的方法,但是这个前提条件是内部一个方法已经加载完毕同时获取到状态值,
所以我希望在加载完毕之后执行这个传值返回值的方法,但是不知道这个加载完毕什么时候能完成,我之前想过延迟执行的一些方法,但是不知道具体怎么用,谁可以给我一些思路么?
+(nsstring *)suanyisuan:(nsstring *)yuanshistring
这个方法要在一个status==0的时候才能正确计算,但是不知道status何时==0,之前试过一些普通的延迟方法,但是无法在这种方法里面写(或者我不会写),
写的有点绕,哪位大神能帮帮我?

2个回答

seeze
seeze   2016.09.22 18:21

按你的需求应该使用回调方式,在内部方法加载完毕后调用回调方法

oyljerry
oyljerry   Ds   Rxr 2016.09.22 18:34

这个方法需要有一个结束的标志,你通过这个标志来执行后续操作,或者你自己能够通过其他的标志获取这个状态的变化,然后再处理。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS-延迟执行和定时器详解
一、延迟执行 01 - 使用performSelector:afterDelay:方式实现 官方: // 默认只在主线程中执行,因为它默认添加到主runloop运行循环里面的NSDefaultRunLoopMode模式内 - (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay
TestForCancelPrePerformReq.zip
IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
iOS开发中几种延时执行代码
iOS开发中几种延时执行代码 [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector() userInfo:nil repeats:NO]; [self performSelector:@selector(download:) withObject:@"http://555.jpg" afterDelay:3]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (in
iOS延迟调用和取消延迟调用
iOS开发延迟调用,系统提供了二种方法。 1. performSelector这二个方法是延迟调用的方法。 cancel是取消延迟调用的方法。 具体用法详解: 注意:取消延迟调用时,参数要和调用时一致。2. 总结:这二种方式都可以取消延迟调用,可根据需要来选择。 初来乍道,请大家多多指教。。。
iOS 四种延迟执行的方法
师弟疑问之延迟某个方法的执行怎么弄1、实现延迟执行的方法有四种 performSelector系列的performSelector:withObject:afterDelay: NSTimer的scheduledTimerWithTimeInterval:target:selector:useInfo:repeats: NSThread的sleepForTimeInterval:方法 GCD
iOS延迟时间再执行某个事件
方法一: [self performSelector:@selector(popEvent) withObject:nil afterDelay:0.5]; //[menuView mainMenuReload]; 方法二:  dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, 2.0
iOS 开发中延迟操作
延迟操作的方案一般有三种:1.NSObject的方法:[self performSelectorOnMainThread:<#(nonnull SEL)#> withObject:<#(nullable id)#> waitUntilDone:<#(BOOL)#>]2.使用NSTimer的方法:[NSTimer timerWithTimeInterval:<#(NSTimeInterval)#> i
iOS-延时执行常见的几种方法
本节主要介绍几种我们通常用到的实现延时的方法。 延时方法我们统一调用- (void)delayMethod - (void)delayMethod { NSLog(@&quot;delayMethodEnd = %@&quot;,[NSThread currentThread]); } 1.performSelector方法 该方法也是在主线程中执行的方法,同NSTimer一样,不会阻塞主线程。 ...
iOS里延迟的执行和取消
最近在项目中遇到了一个需要延迟执行的需求,出于习惯选择了GCD的dispatch_after这个函数。但由于项目需要某个场景下取消这个处于等待执行中的action, 当时没有找到对于的方法,就换成了performSelector afterDelay 这种方案。 后来查询了一些资料,自己整理了一下。下面是iOS中的几种延迟执行方法以及取消方法。 1、NSTimer NSTimer 是i
利用GCD实现延迟(实现延迟的几种方法)
// 在主线程中延迟执行某动作,不会卡主主线程,不影响后面的东做执行     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{         NSLog(@"%@", [NSThread currentThread]);