tar*_*eel 4 iphone xcode objective-c uitableview ios
我有一个UITableViewController,其中包含从名为userList的NSMutableArray填充的数据.选择特定用户后,它将转到详细视图,并更新NavBar中的标题,但它不会传递数据以更新UIView中的UILabel.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:NO];
//Attempt at a singleton to pass the data
DetailView *details = [[DetailView alloc] init];
details.userNameLbl = [userList objectAtIndex:indexPath.row];
DetailView *detailVC = [[DetailView alloc] initWithNibName:nil bundle:nil];
//This line doesn't pass the data
detailVC.userNameLbl.text = [userList objectAtIndex:indexPath.row];
//This line does update the title in the NavBar
detailVC.navigationItem.title = [userList objectAtIndex:indexPath.row];
[self.navigationController pushViewController:detailVC animated:YES];
[details release];
[detailVC release];
}
Run Code Online (Sandbox Code Playgroud)
我应该尝试将数据从表视图推送到详细视图,还是让详细视图尝试从表视图中提取数据?
DetailView.h实际上是在IB中连接的以下行.
IBOutlet UILabel *userNameLbl
Run Code Online (Sandbox Code Playgroud)
Ash*_*lls 11
在userNamelbl从nib文件加载视图之前,不会实例化.这不会在初始化时立即发生,但会在viewDidLoad调用时发生.
因此,您应该在DetailView中声明一个属性来存储标题,然后userNamelbl.text在该viewDidLoad方法中指定该值.
例如,在你的表viewController中:
DetailView *detailVC = [[DetailView alloc] initWithNibName:nil bundle:nil];
detailVC.userName = [userList objectAtIndex: indexPath.row];
Run Code Online (Sandbox Code Playgroud)
并在您的详细视图中控制:
- (void) viewDidLoad
{
[super viewDidLoad];
self.userNameLbl.text = self.userName;
}
Run Code Online (Sandbox Code Playgroud)
viewController的navigationItem属性是在viewController初始化时创建的,因此您可以navigationItem.title立即分配.
SWIFT代码
let detailVC = DetailView(nibName: nil, bundle: nil)
detailVC.userName = userList.objectAtIndex(indexPath.row) as? NSString
Run Code Online (Sandbox Code Playgroud)
和
class DetailView: UIViewController {
@IBOutlet var userNameLbl: UILabel
var userName:NSString?
override func viewDidLoad() {
super.viewDidLoad()
self.userNameLbl.text = self.userName
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11854 次 |
| 最近记录: |