对象可以在另一个视图控制器中看到吗?
随着时间的推移与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