0

我即将发布一款适用于小型企业的 iPhone 应用程序。该应用程序有一个呼叫按钮,可通过 ibaction 呼叫业务。我想知道我是否可以找出此操作发生了多少次,以便我可以更好地了解该应用程序的有效性以及如何进行。

谢谢你的时间。

4

3 回答 3

1

在 IBAction 方法上,您可以将计数器增加 +1。然后你可以NSUserDefaults通过键值对存储它。并且每次,增加计数器并存储它。所以它会保持计数器状态,直到应用程序被卸载。

int counter;

-(IBAction)click:(id)sender
{
     NSUserDefaults *_countDefaults = [NSUserDefaults standardUserDefaults];
     counter = [[_countDefaults integerForKey:@"Counter"] intValue];
     counter++;

     [_countDefaults setInteger:counter forKey:@"Counter"];
     [_countDefaults synchronize];       
}

希望你会有所了解。

谢谢。

于 2013-06-06T11:20:10.720 回答
1

您可以使用一种简单的方法来实现 Web 服务,该方法将增加服务器上的计数器。并在用户每次点击按钮时异步调用它。我会这样做:

#define TAP_COUNT_KEY @"tapcnt"
#define MAKE_URL(X) [NSURL URLWithString:[NSString stringWithFormat:@"http://my_service_address?cnt=%d", X]]

dispatch_queue_t serviceQueue = dispatch_queue_create("Tap counter queue", NULL);
dispatch_async(serviceQueue, ^{
    NSUInteger counter = [[NSUserDefaults standardUserDefaults] integerForKey:TAP_COUNT_KEY] + 1;

    NSURL *serviceUrl = MAKE_URL(counter);
    NSError *error = nil;
    [NSString stringWithContentsOfURL:serviceUrl encoding:NSUTF8StringEncoding error:&error];

    if (error)
        NSLog(@"%@", [error localizedDescription]);
    else
        counter = 0;

    [[NSUserDefaults standardUserDefaults] setInteger:counter forKey:TAP_COUNT_KEY];
});
dispatch_release(serviceQueue);
于 2013-06-06T10:54:35.493 回答
0

你可以增加你的按钮标签值并在任何你想要的地方访问它,

-(IBAction)btnPanic:(id)sender
{
    UIButton *btn=(UIButton *)sender;
    btn.tag=btn.tag+1;
}
于 2013-06-06T11:23:47.693 回答