今天我遇到了这个问题:
我这样做了一个tableview的第一个单元格的标题显示在我的“Home”视图控制器中。
这就是我目前的dun,但是homeviewcontroller中的标签没有得到第一个单元格的标题文本。
Reminders.h:
NSMutableString *primerevento;
@property (strong, nonatomic) NSMutableString *primerevento;
Reminders.m:
@synthesize primerevento;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
....
UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
if(indexPath.row == 1){
cell.textLabel.text = primerevento;
}
HomeViewController.h
@property (weak, nonatomic) IBOutlet UILabel *promediototal;
HomeViewController.m
@synthesize promediototal
- (void)viewDidLoad
{
[super viewDidLoad];
....
Reminders *viewsiguiente = [[Reminders alloc] initWithNibName:nil bundle:nil];
promediototal.text = viewsiguiente.primerevento;
[self presentViewController:viewsiguiente animated:YES completion:NULL];
我在homeviewcontroller上的标签出现在blanc中,我不知道我做错了什么,我真的很想。
感谢您的时间
答案 0 :(得分:0)
在homeViewController中,不要忘记导入remindersViewController的.h。
#import "reminders.h"
@property (weak, nonatomic) IBOutlet UILabel *promediototal;
然后在你想要你的文本的homeViewController.m中 - promediototal.text = reminders.primerevento.text;
@synthesize promediototal
- (void)viewDidLoad
{
[super viewDidLoad];
....
Reminders *viewsiguiente = [[Reminders alloc] initWithNibName:nil bundle:nil];
promediototal.text = reminders.primerevento.text;
[self presentViewController:viewsiguiente animated:YES completion:NULL];
答案 1 :(得分:0)
我们可能仍然会查看代码以了解您的最新动态。 但有一件事:
Reminders *viewsiguiente = [[Reminders alloc] initWithNibName:nil bundle:nil];// 1)
promediototal.text = viewsiguiente.primerevento; // 2)
[self presentViewController:viewsiguiente animated:YES completion:NULL]; // 3)
1)那是什么目的? Firstyou创建一个全新的视图控制器对象。因为你没有从笔尖创建它(这很好)它不能设置任何poperties。所以viewsiguiente.primerevento
在那个时间点是nil
。
2)现在你取这个零值并将其分配给成为promeditional.text
的{{1}}?有什么意义呢?你的意思是?
nil
3)现在您呈现新创建的视图控制器viewsiguiente.primerevento = promediototal.text;
。你没有对它做任何改变。如果viewsiguiente
的实现负责视图,那可能没问题。但是你没有从外部设置任何值。