我做的AlertViewController有textField,要求用户输入的数据模型的新项目的名称.
所以我希望在文本字段为空时保持提交按钮被禁用.在其他情况下,当我创建@IBOutlet的ViewController,从故事板的文本字段我可以只使用一些方法UITextFieldDelegate协议,并没有你的帮助解决问题.
但现在我不能.
当我为条形图提供数据时,它显示的偏移量很小。我考虑过堆叠条形图,但这是错误的 - 我如何为图表提供示例数据:
var barEntries = [BarChartDataEntry]()
barEntries.append(BarChartDataEntry(x: 0, y: 0))
barEntries.append(BarChartDataEntry(x: 4, y: 1))
barEntries.append(BarChartDataEntry(x: 8, y: 24))
barEntries.append(BarChartDataEntry(x: 12, y: 37))
barEntries.append(BarChartDataEntry(x: 16, y: 27))
barEntries.append(BarChartDataEntry(x: 20, y: 11))
let barDataSet = BarChartDataSet(values: barEntries, label: nil)
let barData = BarChartData(dataSet: barDataSet)
barData.barWidth = 4
barChartView.data = barData
Run Code Online (Sandbox Code Playgroud)
所有内容都是使用非堆叠栏的初始值设定项barEntries创建的。BarChartDataEntry现在我不知道为什么 bar 不从 0 开始。
所以,我有导航控制器。从根视图控制器到其他视图控制器有 segue。
当我想访问其他视图控制器时,我会覆盖prepareForSegue方法并使用destinationViewController属性。
但这对我来说不行。prepareForSegue每次调用 segue 时,我所有的东西都会被执行,但我不想要它。其次,它破坏了我的代码逻辑:performSegueWithIdentifier执行之后(实际上是之前)跳转到代码中的其他位置。
如果我可以像使用 Root ViewController 那样访问其他视图控制器,那就太好了——self例如,通过关键字。
这是使我的问题更清楚的代码示例:
func startWorking() {
/*here we made some stuff for current VC
...
...
*/
//next we go to new View Controller
performSegueWithIdentifier("newVC", sender: nil)
//then all actions that I want to do begin at another method - prepareForSegue
//But I want get access to View Controller that user sees now!
//For example present some view:
let someView = UIView(frame: …Run Code Online (Sandbox Code Playgroud)