2010-10-09 1 views
1

Я пытаюсь получить кнопку пользовательского интерфейса для взаимодействия с ярлыком пользовательского интерфейса через Xcode и Interface Builder. Что мне следует изменить в этом коде для этого? (У меня есть все, что связано в Interface Builder уже. Приложение просто зависает при нажатии кнопки.)iPhone Tap Counter

@synthesize window; 
@synthesize label; 
@synthesize anotherLabel; 
@synthesize myButton; 


    #pragma mark - 
    #pragma mark Application lifecycle 



    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    [myButton setTitle:@"Press Here" forState:UIControlStateNormal]; 

    window.backgroundColor = [UIColor grayColor]; 

    label.text = [[NSDate date] description]; 


     // Override point for customization after application launch. 

    [myButton addTarget:anotherLabel action:@selector(doButton:) forControlEvents:UIControlEventTouchUpInside]; 

     [window makeKeyAndVisible]; 

    return YES; 
    } 

    -(void) doButton:(UILabel *)anotherLabel{ 
    static int count; 
     count++; 

      } 

ответ

2

Ok, во-первых, вы не обновляя ярлык этот путь, так как только проездом anotherLabel в качестве параметра и это не означает, что оно изменит его свойства. Кроме того, вы не передаете правильный параметр для doButton :. В этом случае я просто забуду параметр и дату date anotherLabel, сказав:

static int count; 
count++; 
NSString *countString = [NSString stringWithFormat:@"%d", count]; 
[anotherLabel setText: countString]; 
+0

Спасибо за ответ! Я, кажется, получаю сообщение об ошибке при замене NSString. «Конфликтующие типы для подсчета». ? Вы не знаете, что вызывает ошибку ли – thisislev

+0

'рассчитывать статические INT; подсчет ++; NSString * countStr = [NSString stringWithFormat: @ "% D", считай]; [anotherLabel SetText: countStr];' – Emil

+0

, вероятно, работать лучше. (имя строки было таким же, как имя int) – Emil