我有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
方法中是否已选择按钮,而是让按钮触发必要的查询。在下面的示例中,我使button1
和button2
对应于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/