所以我有一个应用程序应该格式化SecondViewController中的值字符串以显示在firstViewController选项卡上。
当用户输入数字时,它假设使用逗号每3位数对其进行格式化。但不知怎的,我似乎无法得到如何将它显示在firstViewController上。这是我的代码:
在secondViewController.m
中 -(IBAction) button:(id)sender{
NSString *string1 = self.addDigitField.text;
/* format the entered digits */
NSNumberFormatter *format = [NSNumberFormatter new];
[format setNumberStyle: NSNumberFormatterDecimalStyle];
NSNumber *n = [format numberFromString: addDigitField];
/* display the string1 value to the firstViewController Label*/
self.string1 = [self. addDigitField text]
FirstViewcontroller *first = self.tabBarController.viewControllers[0];
first.fvcString = self.string1;
}
现在firstViewController.m
/* display the value into firstViewController label *
-(void) viewDidAppear:(BOOL) animated {
If (self.svcString != nil)
self.displayValue.text = self.svcString;
}
所以我的问题是,在这段代码中,我把消息方法格式化了 号码?我想添加的代码如下:
[format stringFromNumber: n];
我通常在单个视图应用上使用这种方式:
self.label.text = [format stringFromNumber: n];
它格式化它。但在我的情况下,将字符串格式化为firstViewcontroller 从secondViewcontroller是我迷路的地方,任何建议我要去哪里 错了??
答案 0 :(得分:0)
在第二个视图控制器中,替换
first.svcString = self.string1;
与
first.svcString = [format stringFromNumber:n];
答案 1 :(得分:0)
问题出在下面这一行: -
self.string1 = [self. addDigitField text];
在此处设置文本值,即前一个值。您需要使用数字格式化程序设置已转换的NSNumber值。试试这个
NSNumber *n = [format numberFromString:
addDigitField];
self.string1 = [format stringFromNumber:n];
FirstViewcontroller *first =
self.tabBarController.viewControllers[0];
first.fvcString = self.string1;
现在在您的第一个视图控制器中,只需替换以下行
self.displayValue.text = self.fvcString;