我想这个委托方法内resultingPoints的价值访问从属性的值是在方法被设置为另一个方法
- (void)perksDetailsViewController:(PerksDetailsViewController *)sender didPassRequiredPoints:(NSNumber *)requiredPoints withCard:(Card *)selectedCard
{
double perksPoints = [requiredPoints doubleValue];
self.resultingPoints = [NSNumber numberWithDouble:[selectedCard subtractPoints:perksPoints] ];
NSLog(@"points remaining %@", self.resultingPoints);
}
这工作得很好,但后来当我试图访问在下面的方法内部生成结果点,因为正如我放置的NSLog所说,结果点有一个空值。
- (void) didPressDone:(id)sender {
PointsResultsViewController *pointsResults = [self.storyboard instantiateViewControllerWithIdentifier:@"resultsPointsVC"];
[self.navigationController pushViewController:pointsResults animated:YES];
pointsResults.leftPointsLabel.text = [self.resultingPoints stringValue];
NSLog(@"hey points left is%@", self.resultingPoints);
}
从第一个方法获得resultsPoints值的方法是什么? 在此先感谢。
EDIT: 日志输出
2012-05-02 15:47:48.297 CardWallet [22196:F803]点剩余900
2012-05-02 15:47:49.291 CardWallet [ 22196:F803]哎留下点是(空)
只是尝试 - (空)didPressDone:(ID)发送{ 的NSLog(@ “哎留下点是%@”,self.resultingPoints); PointsResultsViewController * pointsResults = [self.storyboard instantiateViewControllerWithIdentifier:@“resultsPointsVC”]; pointsResults.leftPointsLabel.text = [self.resultingPoints stringValue]; [self.navigationController pushViewController:pointsResults animated:YES]; } –
它只是一个didPressDone方法的副本: – Grauzten
不,它具有逻辑上的差异。只有在推送视图后,才将值赋给左边的标签。在推动视图之前,必须尝试设置该值。 –