[英]Values are not displaying in table view in ios
我已經在ViewController中聲明了一個數組,並在表格視圖中顯示了它。 我正在從EditViewController傳遞數組的值。 但是這些值未顯示在表格視圖中。 我正在使用以下代碼。
ViewController.h
@property (nonatomic, strong) NSMutableArray *tableData;
ViewController.m
ViewDidLoad:
tableData = [NSMutableArray arrayWithObjects:@"",nil];
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
return cell;
}
EditViewController.m
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
ViewController *vc;
vc = [segue destinationViewController];
NSString *str = [NSString stringWithFormat:@"%ld", selectedRow];
[vc.tableData addObject:str];
}
請指教。
如果tableview本身沒有數據,請在以下位置打斷點
cellForRowAtIndexPath,
而且,如果dsnt達到斷點,則將Tableview的Delegate和Data源與View Controller連接。
[EDIT]如果仍未調用,請轉到情節提要,檢查tableview的邊界是否大於vc的邊界,這意味着檢查tableview是否在視圖控制器內部,並且沒有tableview的任何部分交叉視圖控制器的邊界。
在editViewController的viewDidLOad中將委托和數據源連接到self
tableView.delegete=self;
tableView.Datasource=self;
您將字符串添加到未分配的nsarray對象。 您必須使用字符串創建nssarray並傳遞給vc.tableData。
可能有一些問題。
首先,最好將NSMutableArray屬性“ tableData”設置為segue期間傳入的現有數組。 現在,您正在向可變數組中添加單個字符串,除非您為其中要分配初始化了NSMutableArray的ViewController編寫了自定義初始化程序,否則它必須存在,直到執行完Segue之后的ViewDidLoad為止,因此,您要將字符串傳遞到“ nil”的黑色深淵。
最好在prepareForSegue中使用基本類型作為接收屬性,然后在您的情況下,將ViewController的數組傳遞給EditViewController中已經存在的數組。
另外,您可能沒有告訴視圖控制器實際要創建多少個單元格。 確保numberOfSectionsInTableView返回一個值(在這種情況下僅為1),並且numberOfRowsInSection返回“ [self.tableData count]”。
而且,如果您沒有將ViewController創建為繼承自UITableViewController,則需要進行設置,並像Light Yagami所指出的那樣在情節提要中手動連接委托和數據源。 盡管創建一個繼承自UITableViewController的新自定義類文件可能會更容易,因為它將為您提供一些良好的樣板代碼。
還要確保在情節提要中,將TableViewController的類設置為自定義類文件。
請確保您有
-tableView:numberOfRowsInSection:
方法定義。 此方法應返回大於0的值,以便
-tableView:cellForRowAtIndexPath:
被叫。
希望您不要將numberOfSectionsInTableView傳遞為0。請檢查一次。 根據需要,必須為1或更大。 與numberOfRowsInSection相同。
從
ViewDidLoad
方法中刪除此行
tableData = [NSMutableArray arrayWithObjects:@"",nil];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.