2012-09-07 50 views
0

改變這是我的代碼圖片沒有得到與的NSTimer

- (void)updateCounterImage:(NSTimer *)theTimer 
{ 
    static int count = 0; 
    count += 1; 
    int crb = 6 - count; 
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"ipad_game_timer_digit-%d.png", crb]]; 

    if (count == 6) 
     [timer release]; 

    [countTime setImage:image]; 
} 


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    correctLevel.hidden = YES; 
    incorrectLevel.hidden = YES; 
    incorrectAnswer.hidden = YES; 
    correctAnswer.hidden = YES; 
    timer = [NSTimer scheduledTimerWithTimeInterval:1.0f 
            target:self 
            selector:@selector(updateCounterImage:) 
            userInfo:nil 
            repeats:NO]; 

} 

#import <UIKit/UIKit.h> 

@interface GameController : UIViewController 
{ 

    IBOutlet UIImageView *countTime; 
    NSTimer *timer; 
} 


@end 

問題是我的ImageView不改變其圖像countime。

+0

'[圖像版本]'會死機第一天:'[UIImage的imageNamed:]'返回一個自動釋放的實例。請閱讀Cocoa的內存管理指南。 – 2012-09-07 14:40:42

+1

此外,這個醜陋的鏈如果被替換成'image = [UIImage imageNamed:[NSString stringWithFormat:@「ipad_game_timer_digit-%d.png」,count]];' – 2012-09-07 14:41:27

+0

感謝您的信息,我是新來的iPhone :) –

回答

1

您已在scheduledTimerWithTimeInterval中將repeats設置爲NO,這意味着計時器只會打勾一次。

1

你應該寫

timer = [NSTimer scheduledTimerWithTimeInterval:1.0f 
           target:self 
           selector:@selector(updateCounterImage:) 
           userInfo:nil 
           repeats:YES];