正如我在我的評論說,我不認爲目前的設計是最佳的要求,但如果有絕對沒有其他辦法做到這一點比基本存儲單元的標籤數據,我會做它是這樣的:
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)ip
{
/* instantiate cell here */
NSString *cellText = /* however you need to get the cell text */;
cellText = [cellText stringByReplacingOccurrencesOfString:@"_" withString:@" "];
cell.textLabel.text = cellText;
/* whatever other cell setup you need */
}
在選擇回調
然後:
- (void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)ip
{
UITableViewCell *cell = [tv cellForRowAtIndexPath:ip];
NSString *cellText = cell.textLabel.text;
cellText = [cellText stringByReplacingOccurrencesOfString:@" " withString:@"_"];
/* go do whatever with cellText */
}
希望這有助於。
我會重新考慮你的表視圖控制器的體系結構。您不應該將其顯示方式與其在模型中的表示方式緊密結合。您需要允許視圖(本例中的表格視圖和單元格)能夠將數據對象轉換爲對用戶有意義的表示形式,而不考慮底層表示形式。有什麼辦法可以通過跟蹤數據索引來做到嗎?即您的數據是否在已排序的數組中,您可以在點擊單元格時從索引路徑中查找原始值? –
我正在將數據存儲在MutableArray中,因爲它是由NSXMLParser讀取的。所以我相信我可以通過將索引存儲在匹配單元的標記中來使用數組索引訪問數據。我知道使用表格中的單元格將數據傳遞到下一個視圖是糟糕的設計。感謝您的建議@CarlVeazey – ThunderHorse
非常歡迎,讓我知道我是否可以幫助你。 –