欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于performselector用法,为什么没有预期结果,该如何处理

更新时间: 2014-01-05 02:36:43 责任编辑: Author_N1

 

关于performSelector用法,为什么没有预期结果
首先,贴代码:
TestClass.h

#import <Foundation/Foundation.h>

@interface TestClass : NSObject

-(void) outputHelloWorld;
-(void) outputHelloWorldInSeconds;


@end


#import "TestClass.h"

@implementation TestClass

-(void) outputHelloWorld
{
    NSLog(@"HelloWord, boy");
}

-(void) outputHelloWorldInSeconds
{
     
    [self performSelector:@selector(outputHelloWorld) withObject:nil afterDelay:1];
    NSLog(@"outputHelloWorldInSeconds########");
    sleep(3);
    NSLog(@"outputHelloWorldInSeconds--------");
}
@end


#import <Foundation/Foundation.h>
#import "TestClass.h"



int main (int argc, const char * argv[])
{

    @autoreleasepool 
    {
        
        
        
        TestClass *testObject = [[TestClass alloc] init];
//        [testObject outputHelloWord];
        [testObject outputHelloWorldInSeconds];
        
//        [testObject release];
        
    }
    return 0;
}

为什么[self performSelector:@selector(outputHelloWorld) withObject:nil afterDelay:1];好象没有执行到,没有预期结果?
最后控制台的输出是:
sharedlibrary apply-load-rules all
[Switching to process 650 thread 0x0]
2013-05-22 04:39:20.191 helloworld[650:707] outputHelloWorldInSeconds########
2013-05-22 04:39:23.195 helloworld[650:707] outputHelloWorldInSeconds--------
Program ended with exit code: 0


--参考方法--

还没有执行到该函数,main函数已经运行结束并返回->这样的后果就是程序退出之前无法运行到你想运行的函数。
--参考方法--

换句话说,就是你想要运行的函数,运行时间在程序的生命周期之外。
--参考方法--


收回上面说的话,再研究下。不是我上面说的那么一回事。
--参考方法--


使用向导创建一个带UI的的项目,譬如说基于Single View Application的程序,然后在ViewController.m里面做这样的操作,就可以看到预期的结果了。


--参考方法--
main 函数 上来 就 退出了
运行不到那里
--参考方法--
在main()函数中这么写

do {
@autoreleasepool {
@try {
[[NSRunLoop currentRunLoop] run];
}
@catch (NSException *exception) {
DTLogError(__FUNCTION__, @"%@", exception);
}
}
    } while (YES);
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:36:43
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/12078/
本文WWW.DOC100.NET DOC100.NET版权所有。