在Controller Init上分配viewModel?

时间:2017-08-29 09:10:19

标签: ios swift mvvm init

我正在使用MVVM并希望将我的viewModel分配给Controllers init上的viewController。我以为我会这样做:

DECLARE
   qry   VARCHAR2 (1000);
   chk   NUMBER := 0;
BEGIN
   qry := 'insert into your_table ';

   FOR rec
      IN (SELECT 'SELECT * FROM ' || ACTIVE_POD || '.userservice' AS stmnt
            FROM active_tables)
   LOOP
      IF chk <> 0
      THEN
         qry := qry || ' union all' || rec.stmnt;
      ELSE
         qry := qry || rec.stmnt;
      END IF;

      chk := chk + 1;
   END LOOP;

   qry := qry || ';';
   DBMS_OUTPUT.put_line (qry);
END;

然而我收到错误:

  

在从初始化程序

返回之前,不会在所有路径上调用Super.init

这不是正确的路线吗?当需要一个对象时,我如何才能正确初始化viewModel,但它必须先执行网络请求?用空白对象实例初始化?

由于

编辑:这就是我现在正在尝试的

class LoginViewController: UIViewController, UITextFieldDelegate {

    init(loginViewModel: LoginViewModel) {
        self.loginViewModel = loginViewModel
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        fatalError("init(coder:) has not been implemented")
    }

2 个答案:

答案 0 :(得分:1)

作为最佳做法,

第1步:

{ "_id" : { "func" : "7", "percen" : 30 } }
{ "_id" : { "func" : "5", "percen" : 23.1 } }
{ "_id" : { "func" : "8", "percen" : 27.8 } }
{ "_id" : { "func" : "6", "percen" : 32.1 } }
{ "_id" : { "func" : "1", "percen" : 31.6 } }
{ "_id" : { "func" : "2", "percen" : 35 } }
{ "_id" : { "func" : "3", "percen" : 7.1 } }
{ "_id" : { "func" : "4", "percen" : 31.6 } }

第2步:

db.docs3.aggregate({  
    $unwind:'$attribute'
},
{  
    $group:{  
        _id:{  
            func:"$attribute.functionName",
            percen:"$attribute.percentage"
        }
    }
},
{  
    $match:{  
        "attribute.percentage":{  
            $gt:25
        }
    }
})

第3步:实现initWithModel函数

答案 1 :(得分:0)

如果有效,请尝试添加:

convenience init() {
    self.init(loginViewModel: nil)
}

init(loginViewModel: LoginViewModel?) {
    self.loginViewModel = loginViewModel
    super.init(nibName: nil, bundle: nil)
}

请浏览此链接,它可能有所帮助:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-XID_324