【问题标题】:From TableView to DetailViewController从 TableView 到 DetailViewController
【发布时间】:2013-05-23 09:00:17
【问题描述】:

我有一个带有一些名称的 TableView。 我想在另一个 ViewController 上显示这些名称,但我不明白。

这是我的代码:

AnguckenViewController.m

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


UIViewController *DetailViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];


AnguckenViewController *DetailKey = [self.originalsource objectAtIndex:[tableView indexPathForSelectedRow].row];

const char *cPlainKey = [DetailKey cStringUsingEncoding:NSASCIIStringEncoding];

NSString *plistPath;
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                          NSUserDomainMask, YES) objectAtIndex:0];



NSString *pszDetailValueString = [NSString stringWithFormat:@"%s",szSafeKey];

NSString *szDetailValue = [temp objectForKey:pszDetailValueString];



[DetailViewController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentViewController:DetailViewController animated:YES completion:^(void){}];

}

DetailViewController.h

#import <UIKit/UIKit.h>

@interface DetailViewController : UIViewController {
    IBOutlet UIButton *BackButton;
    NSString *_pszKey;
    NSString *_pszValue;
}
@property (nonatomic, retain) NSString *pszKey;
@property (nonatomic, retain) NSString *pszValue;

@property (retain, nonatomic) IBOutlet UILabel *keyLabel;
@property (retain, nonatomic) IBOutlet UILabel *valueLabel;


@end

DetailViewController.m

@implementation DetailViewController
@synthesize pszKey;
@synthesize pszValue;


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

- (void)viewDidLoad
{
    [super viewDidLoad];
        _keyLabel.text = _pszKey;
}

【问题讨论】:

    标签: iphone objective-c ios6 detailsview


    【解决方案1】:

    您需要设置视图控制器的 pszKey 属性,例如DetailViewController,在模态显示之前。

    DetailViewController.pszKey = @"The value";
    [DetailViewController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [self presentViewController:DetailViewController animated:YES completion:^(void){}];
    

    而且在viewDidLoad中,最好使用属性的getter,而不是直接访问实例变量:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        self.keyLabel.text = self.pszKey;
    }
    

    【讨论】:

    • 我在DetailViewController的属性中设置了“pszKey”,当我想在“AnguckenViewController”中合成“pszKey”时出现错误。
    【解决方案2】:

    所以终于成功了,

    我换行了:

     UIViewController *DetailViewController = [self.storyboard     instantiateViewControllerWithIdentifier:@"DetailViewController"];
    

    到:

    DetailViewController *DetailViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];
    

    谢谢

    【讨论】:

      猜你喜欢
      • 2014-01-16
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      相关资源
      最近更新 更多