对象可以在另一个视图控制器中看到吗?
随着时间的推移与Obj-C握手,这很好!对象可以在另一个视图控制器中看到吗?
所以,我会用我的例子,我试图从中学习。我正在使用选项卡式视图控制器。我在页面上一个UIButton这带来了这样一个新的观点:
FilterViewController *ctrl = [[FilterViewController alloc] init]; [UIView transitionFromView:self.view toView:ctrl.view duration:1 options:UIViewAnimationOptionTransitionCurlUp completion:nil]; 
self.filterViewController = ctrl; 
[self.navigationController pushViewController:self.filterViewController animated:NO]; 
现在,让我们说我创建了一个名为TimeFilter类和我初始化它在FirstViewController
TimeFilter *timeFilter = [[TimeFilter alloc] init]; [timeFilter saveTime:1300]; 
在FilterViewController能我只是这样做:
int timeSelected; timeSelected = [timeFilter getTime]; 
我想弄清楚对象在命令行工具,而不是对象的工作方式。
非常感谢!
回答:
在FilterViewController只要定义一个属性:
@property (nonatomic, span) timeFilter; 然后,你可以提出它之前在您的视图控制器分配timeFilter到FilterViewController:
TimeFilter *myTimeFilter = [[TimeFilter alloc] init]; [myTimeFilter saveTime:1300]; 
FilterViewController *ctrl = [[FilterViewController alloc] init]; 
ctrl.timeFilter = myTimeFilter; 
内。然后FilterViewController你可以这样做:
int timeSelected = [self.timeFilter getTime]; 并且不要使用transitionFromView:toView:duration:options:completion:来显示您的新视图控制器。达到你想要什么正确的方法是:
ctrl.modalTransitionStyle = UIModalTransitionStylePartialCurl; [self presentViewController:ctrl animated:YES completion:nil]; 
回答:
是ü可以做这样的事情和我只好方式:
1)可以使那些方法-class方法,那么,你也会不需要创建对象。
+(id)getTime ,并从任何地方调用它
[TimeFilter getTime]; 2)可以使TimeFilter单身
+(TimeFilter*)shared { 
    static TimeFilter *kTimeFilter = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
    kTimeFilter = [TimeFilter new]; 
}); 
    return kTimeFilter; 
} 
,并在代码中调用
[[TimeFilter shared] getTime]; 以上是 对象可以在另一个视图控制器中看到吗? 的全部内容, 来源链接: utcz.com/qa/258279.html




