0
我被困在委托人,协议问题中,试图在两个视图控制器之间传递数据。在视图控制器之间传递多个标签时遇到问题
我能够传递数据,但是当我尝试更改用户输入时,通过一起添加两个用户输入,然后通过该数据传递我卡住了。有人可以解释我犯了什么错误吗?非常感谢你。
对不起,如果这是一个新手问题。但我现在一直在努力。再次感谢你。
我查看Controller.m或者文件 #进口 “ViewController.h”
@interface ViewController()
@end
@implementation ViewController
-(void)setTheValues
{
int numberOne = [_numberOne.text intValue];
int numberTwo = [_numberTwo.text intValue];
int sumTotal = (numberOne+numberTwo);
sumTotal = [_sumTotal.text intValue];
// self.sumTotal.text = [NSString stringWithFormat:@"%d", sumTotal];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier]isEqualToString:@"vc2"])
{
SecondViewController *vc2 = [segue destinationViewController];
NSString *passedMessage = _textField.text;
vc2.passedMessage = passedMessage;
[self setTheValues];
NSString *passedMessageTwo = _sumTotal.text;
vc2.passedMessageTwo = passedMessageTwo;
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)sendOver:(UIButton *)sender {
[self setTheValues];
}
@end
查看或者Controller.h
#import <UIKit/UIKit.h>
#import "SecondViewController.h"
@interface ViewController : UIViewController <sendMessage>
- (IBAction)sendOver:(UIButton *)sender;
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UITextField *numberOne;
@property (weak, nonatomic) IBOutlet UITextField *numberTwo;
// declaring sumTotal
@property (weak, nonatomic) IBOutlet UILabel *sumTotal;
@end
我的第二个视图或者Controller.h #进口
@protocol sendMessage <NSObject>
@end
@interface SecondViewController : UIViewController
- (IBAction)goBack:(UIButton *)sender;
@property (weak, nonatomic) IBOutlet UILabel *label;
@property (weak, nonatomic) IBOutlet UILabel *labelTwo;
//delegate property
@property(retain)id <sendMessage> delegate;
@property(nonatomic, strong)NSString *passedMessage;
@property(nonatomic, strong)NSString *passedMessageTwo;
@property(nonatomic, strong)NSString *passedMessageThree;
@end
我不这么认为。 sumTotal是一个UILabel。 OP的评论栏self.sumTotal.text = ...看起来更正确。 – danh
邓肯 - 谢谢你,解决了这个问题,并让我做我需要的。谢谢。 – flooie
@flooie,如果您认为正确,您可以将答案标记为正确。 (我没有看到它是怎么回事,代码分配和int作为总和,然后放弃它在堆栈上,它也错误地声明委托为“保留”,从不设置或引用它)。答案中没有解决这些问题。 – danh