我正在开发一个使用Dijkstra算法的系统,用Java显示平方网格中的最短路径.当路径到达靠近的对角线,垂直或水平单元时,路径成本增加1.但路径的优先级应该通过对角线单元.只有当附近没有可能的对角线单元时,路径才能通过垂直或水平单元.最方便的方法是什么?
我是iOS开发的新手,我应该修复使用Swift 3.0和Xcode 8制作的iOS应用程序中的一些错误,它几乎可以正常工作.但是当我用Xcode 9和Swift 4.0打开它时,它显示出一些与之前不同的按钮.
以下是其中一个按钮的源代码.
let button: UIButton = UIButton.init(type: UIButtonType.custom)
//set image for button
button.setImage(UIImage(named: "menu.png"), for: UIControlState())
button.frame = CGRect(x: 0, y: 0, width: 30, height: 23)
let barButton = UIBarButtonItem(customView: button)
button.addTarget(self, action: #selector(ViewController.shareButtonPressed), for: UIControlEvents.touchUpInside)
self.navigationItem.leftBarButtonItem = barButton
Run Code Online (Sandbox Code Playgroud)
此代码位于ViewDidLoad方法内.我的问题是当我删除,
button.setImage(UIImage(named: "menu.png"), for: UIControlState())
Run Code Online (Sandbox Code Playgroud)
它消失了按钮但是当我改变高度和宽度时,
button.frame = CGRect(x: 0, y: 0, width: 30, height: 23)
Run Code Online (Sandbox Code Playgroud)
它什么都没改变.我的问题是如何解决这个错误.任何建议,答案都非常感谢,如果给出的细节不够,请提及.谢谢!