首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在UITableView中实现数据双视图控制器

在UITableView中实现数据双视图控制器
EN

Stack Overflow用户
提问于 2015-05-06 10:03:28
回答 3查看 58关注 0票数 2

当用户从PFObject中选择一个单元格时,我尝试将一个带有当前ViewControllerViewController传递给另一个ViewController,这是我的代码:

代码语言:javascript
运行
复制
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"boxCell";
NSInteger row = [indexPath row];
boxTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if(cell == nil){
    cell = [[boxTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}

PFObject *boxe = [PFObject objectWithClassName:@"Boxe"];
boxe = [self.arrayBox objectAtIndex:row];


PFQuery *query = [PFQuery queryWithClassName:@"Boxe"];
[query whereKey:@"objectId" equalTo:boxe.objectId];

[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
    if(object){
        // I instanciate the PFObject
        box = object;
        cell.nomBoxe.text = object[@"contenu"];
        cell.qteBoxe.text = [NSString stringWithFormat:@"%@ boxes disponbiles",object[@"quantite"]];
        cell.prixBoxe.text = [NSString stringWithFormat:@"%@€",object[@"prix"]];
        cell.descriptionBoxe.text = object[@"description"];
    } else {
        NSLog(@"Erreur lors de chargement, erreur : %@",error.description);
    }
}];
return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"segueToBoxDetail" sender:self];
}


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"segueToBoxDetail"]) {
    boxDetailViewController *boxDetailVC = [segue destinationViewController];
    boxDetailVC.box = box;
    }
}

我宣布PFObject:

代码语言:javascript
运行
复制
@implementation RestauCardViewController{
PFObject *box;
}

在另一个ViewController中,我有一个对象框的属性:

代码语言:javascript
运行
复制
@property(nonatomic) PFObject *box;

我发现了一个错误:

由于“NSInvalidArgumentException”异常终止应用程序,原因:'-UIViewController setBox::未识别的选择器发送到实例0x12aad9100‘

有什么帮助吗?

EN

回答 3

Stack Overflow用户

发布于 2015-05-06 10:12:35

prepareForSegue:中,将声明替换为以下行。

代码语言:javascript
运行
复制
boxDetailViewController *boxDetailVC = (boxDetailViewController*)[segue destinationViewController];

编辑 Plz移动

代码语言:javascript
运行
复制
property(nonatomic) PFObject *box; 

行到.h文件

票数 0
EN

Stack Overflow用户

发布于 2015-05-06 10:21:57

你把财产写错地方了。目前,您正在类扩展中编写它。类扩展只用于将数据保密到该类。

尝试在.h文件中写入相同的属性。

属性,其他类可以访问.h文件中声明的属性。因此,其他类可以访问其访问器方法并设置其值。

请让我知道。

票数 0
EN

Stack Overflow用户

发布于 2015-05-26 13:26:16

我也犯了同样的错误。把它也解决了,也想在这里分享。

我有一个UIViewController类,它与UITableViewController连接。

实际上,我是在把UINavigationController连接起来。

将segue连接改为UITableViewController解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30073513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档