我有2个不同的按钮,可在一个mapview中触发一组不同的注释。我有一些操作方法可以淡出应该在其中出现注释的按钮,但是我无法弄清楚在注释方法中如何说“如果激活此操作,然后从此类加载注释”。所以这是我当前的代码

- (void)queryForAllPostsNearLocation:(CLLocation *)currentLocation withNearbyDistance:(CLLocationAccuracy)nearbyDistance {
if (????? IBAction 1 is activated ?????) {
    NSString *button1 = @"Today";
}
if (????? IBAction 2 is activated ?????) {
    NSString *button1 = @"Tomorrow";
}
PFQuery *query = [PFQuery queryWithClassName:button1];


我希望我能适当地传达我的问题,并且有人可以帮助我。

最佳答案

如果您要问的是我想问的问题,则“激活”是指“已被感动” /“已被选择”,这是在倒退。不必检查您的queryForAllPostsNearLocation方法中是否已选择按钮,而是让按钮触发必要的查询。在下面的示例中,我使button1button2对应于UIButton,并且已经将NSString *button1替换为NSString *buttonText只是为了使事情更加清楚。

- (IBAction)buttonSelected:(id)sender {
    NSString *buttonText;
    if (sender == button1)
        buttonText = @"Today";
    else
        buttonText = @"Tomorrow";

    PFQuery *query = [PFQuery queryWithClassName:buttonText];
}


编辑:在这种情况下,为了完成所需的查询,您可以(1)将currentLocation和nearDistance存储为类变量,然后在buttonSelected中访问它们以在此处完成查询,或者(2)您可以获取currentLocation中的>和nearbyDistance值,然后调用类似

// Modified to now include the button's text as an argument
-(void)queryForAllPostsNearLocation:(CLLocation *)currentLocation withNearbyDistance:(CLLocationAccuracy)nearbyDistance withButtonText(NSString*)buttonText


buttonSelected内部,然后从那里执行查询。

关于ios - IBAction连接到IF语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20817547/

10-12 04:51