0

我想使用 parse.com 将一些对象从 tableview 传递到视图控制器。我试过了,但它不起作用:我做错了什么吗?有任何想法吗?我还添加了我的详细控制器 .m 和 .h 文件,谢谢..

-(void) tableView: (UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   NSInteger row = [indexPath row];
  NSLog(@"%i",row);

 PFObject *object = [self objectAtIndex:indexPath];


//Create a DetailViewController object
MyTableViewDetail * MTD = [[MyTableViewDetail alloc] initWithNibName:@"MyTableViewDetail" bundle:nil];


MTD.label1.text =[object objectForKey:@"columntext"];



//push the detail view controller object onto the stack

[self.navigationController pushViewController:MTD animated:YES];

 //tableView.backgroundColor =[UIColor clearColor];


}

我的细节.h:

@interface MyTableViewDetail : UIViewController{

}

@property (strong, nonatomic) IBOutlet UILabel *label1;
@property (strong, nonatomic) IBOutlet UIImageView *imagedetail;

@end

我的 .m 文件:

#import "MyTableViewDetail.h"
#import "MyTableController.h"

@interface MyTableViewDetail ()

@end

@implementation MyTableViewDetail
@synthesize label1;
@synthesize imagedetail;


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {


    // Custom initialization
}
return self;
}




-(void)viewDidLoad{



[super viewDidLoad];

}

- (void)viewDidUnload
{
[self setLabel1:nil];
[self setImagedetail:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:    (UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end
4

2 回答 2

0

根据Apple 的文档,看起来 NIB/XIB 中的所有插座都应该在该 NIB/XIB 中awakeFromNib的任何对象上调用之前连接,但是当在对象上调用等时,插座可能没有连接init. 您必须将值传递给一些强大的属性,并在 awakeFromNib 中完成所有工作。

- (void)awakeFromNib
{
    self.label1.text = self.columnText;
}
于 2012-08-25T10:12:25.613 回答
0

解决了。我在 MyTableViewDetail 中创建了一个单独的属性,例如“columntext”,然后

set MTD.columntext = [object objectForKey:@"columntext"];,
set self.label1.text = self.columntext; in viewDidLoad of MyTableViewDetail.
于 2012-08-27T07:58:10.523 回答