FlipsideViewController

FlipsideViewController

我在Objective-C中创建了Rock Paper Scissors游戏,目前在将整数从一个View Controller带到另一个View Controller时遇到问题。

我正在使用实用程序应用程序模板,并且正在使用FlipsideViewController作为将区域设置为最佳(3、5、7等中的最佳)的区域。但是,我无法将该整数带回MainViewController以便使用。我通读了有关此主题的其他问题,但无法正常工作。

这是FlipSideViewController.h文件中的协议

 @class FlipsideViewController;
 @protocol FlipsideViewControllerDelegate
  - (void)addItemViewController: (FlipsideViewController *)controller didFinishEnteringItem: (int)rounds;
 @end

这是按下按钮以确定回合数量时发生的动作
- (IBAction)submitBOO:(id)sender {
int rounds = 0;
rounds = _textField.text.intValue;

if (rounds % 2 ==0){
   _labelBOO.text = @"Pick an odd number!";

}
else
    [self.delegate addItemViewController:self didFinishEnteringItem:rounds];
}

MainViewController.m中的按钮切换到FlipsideViewController
- (IBAction)beginGame:(id)sender {
FlipsideViewController *controller = [[FlipsideViewController alloc]    initWithNibName:@"FlipsideViewController" bundle:nil];


controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];

}

最佳答案

声明一个int的属性与声明一个类似NSNumber或NSString的对象是不同的。

您需要做的就是将其添加到标题中:

@property int someInt;

并在您的实施中进行综合。您不需要释放此属性,因为它不是真正的对象。它没有任何保留。而且,如果您使用的是ARC,则无需担心。

如果这不能解决您的问题,请发表您尝试过的内容(例如,给我们一些代码来使用),您可能会得到更详尽的答案。更好的问题=更好的答案。

强/弱限定词不适用于int或其他原始数据类型,但是如果您的目标是iOS4,则明智的做法是使用(nonatomic)以及(unsafe_unretained)

09-07 11:20