也許是本網站的常見問題解答。從iPhone中的子視圖中設置ivar在objective-c中
我有一個TableViewController持有一個窗體。在這種形式中,我有兩個字段(每個字段都在自己的單元格中):一個選擇誰支付(單選),另一個選擇人員支出(多選)。
這兩個字段都會打開包含在UINavigationController中的新TableViewController。
單選擇字段(支付的)保持對象會員 多重選擇字段(支付)持有的NSMutableArray
兩個瓦爾被髮送到相同的新的控制器相同的方式的對象:
mySingleSelectController.crSelectedMember = self.crPaidByMember;
myMultipleSelectController.crSelectedMembers = self.crSelectedMembers;
來自付費爲控制器我使用didSelectAtIndexPath方法來設置成員的可變數組爲誰支付:
if ([[tableView cellForRowAtIndexPath:indexPath] accessoryType] == UITableViewCellAccessoryCheckmark) {
[self.crSelectedMembers removeObject:[self.crGroupMembers objectAtIndex:indexPath.row]];
//...
}
else {
[self.crSelectedMembers addObject:[self.crGroupMembers objectAtIndex:indexPath.row]];
//...
}
到目前爲止一切順利。一個可變數組(crSelectedMembers)完全從子視圖設置。 但是... 我在設置Membership對象時遇到了問題。
從支付的控制器我用didSelectAtIndexPath設置會員:
[self setCrSelectedMember:[crGroupMembers objectAtIndex:indexPath.row]];
通過NSlogging crSelectedMember我獲得選擇自我成員的權利,但在父母看來,指出其伊娃,沒有什麼改變。
我做錯了什麼?原因我可以調用crSelectedMembers的方法,但我無法更改crSelectedMember的值。
謝謝!我認爲鏈接帖子中提到的辛格爾頓方法可以解決這個問題。 – Ivan 2010-04-01 10:09:12