我有2個視圖控制器-1用於輸入來自用戶的值,另一個用於在表格視圖中顯示值。編碼去如下:何傳遞值使用通知?
這是用於顯示由所述通知傳遞的值:
ListTableViewContrller.m
@property(strong,nonatomic)NSMutableArray *namearray;
@end
@implementation ListTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(receieveTestNotificatiom:) name:@"TestNotification" object:nil];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)receieveTestNotificatiom:(NSNotification *)notification
{
_namearray=[[NSMutableArray alloc]initWithObjects:[notification.userInfo objectForKey:@"USERNAME"], nil];
[self.tableView reloadData];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _namearray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellreuse" forIndexPath:indexPath];
cell.detailTextLabel.text=[_namearray objectAtIndex:indexPath.row];
return cell;
}
這對於在命名爲視圖控制器從所述用戶輸入數據source.m
-
- (IBAction)senddata:(id)sender
{
NSDictionary *dict=[NSDictionary dictionaryWithObject:_nametextfield.text forKey:@"USERNAME"];
[[NSNotificationCenter defaultCenter]postNotificationName:@"TestNotification" object:nil userInfo:dict];
}
當我嘗試運行我的應用程序,它不顯示在表視圖控制器輸入的值。爲什麼這樣?在此先感謝......
什麼r esult你得到在Namearray –
我得到在文本字段中輸入的值。 –
你可以顯示/打印你的名字陣列,你的編碼是好的,但它錯過了索引 –