我一直在撞墙试图找出我认为简单的事情,但到目前为止,我还没有用iPhone SDK来解决这个问题。我有4个按钮的视图。当我按下按钮时,我有另一个叫做的视图,然后上前接管屏幕。我想要一个从旧视图传递到新视图的简单变量。这样做的目的是知道从四个相同的按钮中按下了什么按钮。 (试图获得1到4的int值)这是我到目前为止所尝试的:
我最初试图从类本身调用变量。我的理解是我的新视图只是坐在旧视图的顶部,所以它不应该被释放。我无法访问该变量,因为据说该变量未被声明。
然后我尝试创建一个返回int值的方法。同样,视图类没有被看到,并被声明为它的“第一次使用”。
然后我尝试在此处跟随另一个类似的帖子,建议尝试将按钮标签号发送到新视图的某个部分。我试图通过设置新的视图按钮标题来做到这一点,但我仍然无法找到一种方法来编码它而不会出现错误。
我只是在寻找对我来说最好的方法。我没有问题回去阅读关于Objective-C的书籍,但我只是想弄清楚我应该关注哪种方式。感谢您的任何见解。
答案 0 :(得分:0)
这样的事情应该有效:
button.tag = <whatever the tag value should be>;
[button addTarget: self selector: @selector(onTouchDown:) forControlEvents: UIControlEventTouchDown];
- (void) onTouchDown: (id) sender
{
int tag = ((UIView*)sender).tag;
UIViewController *vc = [[MyVC alloc] initWithID: tag];
// display the view for the vc
}
顺便说一句,我发现NSNotification对于将结果传递回父控制器非常有用。