我想這個委託方法內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
不,它具有邏輯上的差異。只有在推送視圖後,纔將值賦給左邊的標籤。在推動視圖之前,必須嘗試設置該值。 –