小编ner*_*rgy的帖子

关闭 ViewController 并重新加载之前的数据/传回数据?

我的应用程序从服务器下载更新。为此,它将设备上的数据与服务器上的可用数据进行比较。如果不匹配,布尔值“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)

cocoa-touch delegates uiviewcontroller swift swift2

5
推荐指数
1
解决办法
2491
查看次数

根据用户输入在Laravel中创建新表?

我试图根据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()

php mysql schema laravel eloquent

3
推荐指数
1
解决办法
2323
查看次数

WKWebView添加到子视图,并设置大小等于父级?

我正在开发一个显示本地存储的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

非常感谢

ios swift wkwebview swift3

2
推荐指数
1
解决办法
5176
查看次数