Swift 2错误:Swift中的new()不可用:改为使用对象初始值设定项

时间:2015-09-19 10:38:55

标签: ios swift view swift2

下面有2个工作代码,但当我检查它时,swift 2给了我这个错误:

ViewController.swift:55:50: 'new()' is unavailable in Swift: use object initializers instead

我的所有代码

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    if self.revealViewController() != nil {
        menuButton.target = self.revealViewController()
        menuButton.action = "revealToggle:"
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }

    self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()

    self.adBannerView?.adUnitID = kAdmobIDBanner
    self.adBannerView?.rootViewController = self
    var request = GADRequest()
    self.adBannerView?.loadRequest(request)

    var connection : APIConnection = APIConnection();
    MBProgressHUD.showHUDAddedTo(self.view, animated: true)
    connection.startRequest(String(format:"%@getAllCuisines.php",kServerURl), responseBlock: { (data :[AnyObject]!) -> Void in

        var jsonResult: NSArray = data as NSArray;
        if((jsonResult.valueForKey("success").boolValue) == true)
        {
            self.dataArray = jsonResult.valueForKey("cuisine") as! NSArray
            self.tableview?.reloadData();
            MBProgressHUD.hideHUDForView(self.view, animated: true)

        }
        else
        {

        }

        }) { (error : NSError!) -> Void in
            MBProgressHUD.hideHUDForView(self.view, animated: true)
            //code
    }
    self.tableview?.tableFooterView = UIView.new() // HERE GIVES ERROR
}

我尝试了一切,但我没有解决它。请帮帮我

2 个答案:

答案 0 :(得分:1)

调用new()不是在Swift中初始化对象的正确方法。在创建UIView的内容时,通常应该编写如下内容:

 self.tableview?.tableFooterView = UIView(frame: aRect)

在您的情况下,您可能希望使用CGRectZero初始化视图

答案 1 :(得分:0)

UIView在swift中没有任何名为new()的属性,因此您可以通过这种方式直接将UIView分配给tableFooterView

self.tableview.tableFooterView = UIView()

或者您可以为其指定任何自定义视图。