xcode ios将动作连接到动作场景中的按钮
我是iOS开发的初学者。我正在尝试编写一个简单的应用程序,根据特定字段的变量,它有两个可能的结果与一个按钮关联 当用户按下我的应用程序上的“行走”按钮,状态变量为“跳跃”时,会出现一个动作场景 如果状态为“跳跃”,用户按“行走”,则会根据以下片段弹出以下场景:xcode ios将动作连接到动作场景中的按钮,ios,uibutton,uiactionsheet,Ios,Uibutton,Uiactionsheet,我是iOS开发的初学者。我正在尝试编写一个简单的应用程序,根据特定字段的变量,它有两个可能的结果与一个按钮关联 当用户按下我的应用程序上的“行走”按钮,状态变量为“跳跃”时,会出现一个动作场景 如果状态为“跳跃”,用户按“行走”,则会根据以下片段弹出以下场景: - (IBAction)walk:(id)sender { if ([_personState.text isEqual: @"Jumping"]) { UIActionSheet *actionsheet = [[UIAct
- (IBAction)walk:(id)sender {
if ([_personState.text isEqual: @"Jumping"])
{
UIActionSheet *actionsheet = [[UIActionSheet alloc]
initWithTitle:@"Invalid Action - Force?"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:@"Force", nil];
[actionsheet showInView:self.view];
}
else {_personState.text = @“Walking";}
}
当我单击Force时,personState不会更新为Walking
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if ([_personState.text isEqual: @"Jumping"] && buttonIndex == 0)
{
_personState.text = @"Walking";
}
我的if语句是否不正确?还是我又犯了一个错误 您使用的是isEqual:但我认为您应该使用IsequalString:来代替
isEqual比较指针,而isEqualToString比较字符串的值。学会调试,它会让您的生活更轻松 在操作表中放置断点:单击按钮索引: 在Xcode类型底部的调试区域中
po _personState.text
然后键入
p buttonIndex
po=打印对象
p=打印原语
您甚至不需要输入,只需将鼠标悬停在变量上,它就会显示值恐怕不是这样-状态保持不变。