我有不同的log(b)
个多个字段。一个有NSDatePicker,
另一个有NSTextField等等。
当我点击特定按钮时,想法是在NSScrollView中显示这些。
所以我提出了下一个解决方案:
我的主mydata=data.frame(x=c(0,5,9,13,17,20),y = c(0,11,20,29,38,45))
myfun=function(a,b,r,t){
prd=a*b*(1-exp(-b*r*t))
return(prd)
}
myfun1 <- function(logab, data){
sum((data$y - myfun(exp(logab[1]), exp(logab[2]), r = 2, t = data$x)) ^ 2)
}
ui <- rbind(c(-1,-1), c(1,0), c(-1,0), c(0,-1))
ci <- c(-log(1000), log(1000), -log(3000), 0)
init <- log(c(2000, 0.05))
r <- constrOptim(theta = init, f = myfun1, grad = NULL, ui = ui, ci = ci, data = mydata)
类有一个变量 viewControlers:[NSViewController
] ,它包含所有自定义ViewController
s(具有不同的输入)。当我单击按钮时,我初始化某个ViewController
,然后将其视图添加到滚动视图。
Examle:
ViewController
我添加ViewController
会触发“close()”函数到每个带输入的自定义let dmyVC = storyBoard.instantiateController(withIdentifier: "DayMonthYearVC") as! DayMonthYearSelectVC
self.viewControlers.append(dmyVC) //add new vc to the array
scrollView.addSubview(dmyVC.view) //add this VC’s view to a scroll view
。然后在“关闭”函数中的那些NSButton
上执行:
ViewController
但是它只从scrollView中删除了ViewController
的视图,但是self.view.removeFromSuperview()
本身没有被释放,它仍然保留在 viewControlers 数组中(mainViewController中的变量)
我正在考虑创建委托,并且每次按下其中一个视图上的关闭按钮时都会调用委托方法。在这种情况下,我只需要一个委托数组(对于每个自定义ViewController
)[与数组并行,该数组包含对所有创建的ViewController
的引用]。
<小时/> 现在我想,当你想在另一个视图中呈现
ViewController
个'视图时,是否有一种常见的方法来处理这种情况,或者每个人都以他们更喜欢的方式进行处理? < p>
答案 0 :(得分:1)
解决方案A:代表。所有视图控制器都可以具有相同的委托,即主视图控制器。结束视图控制器是委托方法的参数。
解决方案B:自定义通知。主视图控制器观察通知。结束视图控制器发布通知,并且是通知的对象。