【发布时间】:2014-08-09 23:20:33
【问题描述】:
我开发了一个具有两个 UIButton 的 iOS 应用程序,但是当我按下它们时,这些按钮有时似乎会滞后。有时滞后非常糟糕(有时需要 10 秒)。我几乎可以肯定它与我正在使用的 NSTimer 有关。我只想做到这一点,以便在按下按钮后立即切换 UIViewController,我根本不希望有任何延迟。这是我的代码:
RealTimeModeViewController.m
#import "RealTimeModeViewController.h"
@interface RealTimeModeViewController ()
@end
@implementation RealTimeModeViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(UpdateTime:)
userInfo:nil
repeats:YES];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (void)UpdateTime:(id)sender
{
// This is where I do everything in my app
}
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(UpdateTime:)
userInfo:nil
repeats:YES];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (void)UpdateTime:(id)sender
{
// Most of code goes here
}
@end
两个 UIButton 通过 Modal 样式连接到彼此的 ViewController。也许我应该把按钮放在主线程中?我对线程不是很熟悉。谢谢。
【问题讨论】:
-
你在 - (void)UpdateTime:(id)sender 做什么?你能展示在视图控制器之间切换的代码吗?
标签: ios uiviewcontroller uibutton