我的应用程序从服务器下载更新。为此,它将设备上的数据与服务器上的可用数据进行比较。如果不匹配,布尔值“updateAvailable”将设置为 true,并向用户显示交互式 UILabel,指示他们可以下载更新。
(稍微简化的代码)
class ViewController: UIViewController {
@IBOutlet weak var updateLabel: UILabel!
func updateChecker(){
let deviceVersion = self.settingsController.getDeviceVersion()
//Get Server Version (Async)
_ = settingsController.getServerVersion() { (data) -> () in
dispatch_async(dispatch_get_main_queue()){
if deviceVersion != data{
self.updateAvailable = true
}
else{
self.updateAvailable = false
}
//Update UI
self.updateUI()
}
}
}
func updateUI(){
if updateAvailable{
updateLabel.text = "Update Available"
}
else{
updateLabel.text = "App Up To Date"
}
}
Run Code Online (Sandbox Code Playgroud)
触摸此更新标签时,应用程序会触发到“updateViewController”的自定义 Segue:
@IBAction func getUpdateLabelPressed(sender: UITapGestureRecognizer) {
if updateAvailable{
self.performSegueWithIdentifier("segueToUpdateView", sender: …Run Code Online (Sandbox Code Playgroud) 我试图根据Laravel框架中的用户输入创建新的mysql表.
用户提交在控制器中处理的表单,保存表单数据,然后根据用户的输入创建新表(以便稍后接收数据).
在laravel表中可以使用schema :: create()创建
Schema::create('newtablename', function($table){
$table->increments('id')->unique(); //primary key
$table->string('columnname');
etc.
});
Run Code Online (Sandbox Code Playgroud)
基本上我想这样做,除了基于用户输入的表名和列名:
用户输入是一个多维数组,如下所示:
$newtableschema = array(
'tablename' => 'tablename',
'colnames' => array('One', 'Two', 'Three', 'Four');
);
Schema::create($newtableschema['tablename'], function($table){
$table->increments('id')->unique(); //primary key
foreach($newtableschema['colnames'] as $col){
$table->text($col);
}
etc.
});
Run Code Online (Sandbox Code Playgroud)
我得到的错误是没有定义变量.我不知道如何将用户的输入提供给schema :: create方法.
我在文档中找不到以这种方式创建表格的任何方法,或者在我过去3小时的谷歌搜索中使用类似的任何方法.雄辩的语法有时让我困惑,所以也许我错过了一些明显的东西.
有任何想法吗?或者有一个替代纯php/sql来完成这个?
非常感谢
编辑:道歉,我在我的示例代码中提到了一个错字.我的问题是我不知道如何传递我想要的变量schema :: create()
我正在开发一个显示本地存储的HTML内容的应用程序.
我的故事板场景包括一个自定义菜单视图('MyMenuBar')和一个'containerView',我希望在其中加载HTML.这两个项目都在故事板中得到了适当的约束.
我正在尝试使用WKWebView,正如Apple推荐的那样.我想将WKWebView添加为'containerView'的子视图,并给它相同的约束,但是我无法做到这一点.内容从屏幕边缘掉落,或根本不显示.
这是我有的:
@IBOutlet weak var MyMenuBar: UIView!
@IBOutlet weak var containerView: UIView!
...
var myWebView: WKWebView?
//View did load...
webViewWK = WKWebView()
containerView.addSubview(myWebView!)
myWebView?.frame = containerView.frame
myWebView?.load(localFileURL!)
Run Code Online (Sandbox Code Playgroud)
我不确定这里出了什么问题.我试过了:
view.insertSubview(myWebView!, belowSubview: MyMenuBar)
Run Code Online (Sandbox Code Playgroud)
和
containerView = myWebView!
Run Code Online (Sandbox Code Playgroud)
但这些都没有显示.我也尝试过:
myWebView?.translatesAutoresizingMaskIntoConstraints = false
Run Code Online (Sandbox Code Playgroud)
但是,我仍然遇到同样不寻常的布局问题,内容缩放错误,并从屏幕上掉下来.
我可以通过简单地在故事板上使用UIWebView来解决这个问题,但我想要WKWebView的性能和面向未来,并且无法理解为什么我不能以编程方式使用正确的约束来添加它.
我正在使用Xcode 8.0和Swift 3
非常感谢