2015-06-09 43 views
6

Elde hataSwift 2.0: sonucuna kapalı tip hata

Swift 1.2

private lazy var _messagesVC = { return MessagesViewController(nibName:"MessagesViewController",bundle:nil)}() 

Tüm çalışma cari bağlamda kod

kapama türünü tahmin edilemiyor Bu hatayı aldığım denetleyiciyi görüntüle

import UIKit 
class FriendsViewController: UIViewController { 

@IBOutlet weak var containerView: UIView! 
@IBOutlet weak var segmentContainerView: UIView! 
private lazy var _connectionVC = { return FriendsConnectionViewController(nibName:"FriendsConnectionViewController",bundle:nil)}() 
private lazy var _messagesVC = { return MessagesViewController(nibName:"MessagesViewController",bundle:nil)}() 


override func viewDidLoad() { 
    super.viewDidLoad() 
    self.selectedControllerFrom(index: 0) 
    // Do any additional setup after loading the view. 
} 

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 

} 

func selectedControllerFrom(index index:UInt) 
{ 
    var vc:UIViewController? 
    switch index{ 
    case 0: vc = _connectionVC 
    case 1: vc = _messagesVC 
    default : vc = nil 
    } 
    if vc != nil{ 
     self.showViewController(vc!,containerView: containerView); 
    } 
} 
+0

Tüm içeriği gösterebilir misiniz? '_mapVC' muhtemelen bir sınıfın bir özelliği ve basit bir sınıf tanımı (ve 'MapViewController') parodi içine koyarsanız beyanı oyun alanında çalışır gibi görünüyor ... – Grimxn

+0

Diğer denetleyici ancak aynı hata ile ekledi ... – UnRewa

+2

Bir tür ek açıklama eklemeyi denediniz mi? Özel tembel var _messagesVC: MessagesViewController = {..}() ' –

cevap

4

Bu hatadan kurtulmanın iki yolunu buldum.

İlk olarak, özelliği türüyle açık bir şekilde açıklama ekleyin. Bunu çok tuhaf buluyorum çünkü Swift'in bunu baştan çıkarması gerekiyor.

lazy var embeddedViewController: CustomViewController = CustomViewController() 

İkincisi, yalnızca tembel anahtar sözcüğünü kaldırmaktır.

var embeddedViewController = CustomViewController() 

Bu, şu anda Swift 2.0'da tembel özellikleri rahatsız eden bir hata mıdır?

+0

Türünün benim için açık olduğunu açıkça bildiriyor – onmyway133