2017-08-03 57 views
0

我從客觀下使用xcode9 BETA4轉換爲夫特,我重寫MyRepositoryViewController的工作代碼MyRepositoryViewController.swift無法分配'myRepositoryViewController'類型的值來鍵入'myRepositoryViewController!'

在類MyListViewController.h在目標C

@interface MyListViewController : UITableViewController <UIAlertViewDelegate, UITextFieldDelegate> 

@property (nonatomic, strong) MyRepositoryViewController *myRepositoryController; 

在類MyRepositoryViewController,寫入在雨燕3.0或4.0

class MyRepositoryViewController: UIViewController{ 
    @IBOutlet var infoOverlayView: InfoOverlayView! 
..... 

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { 
     super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) 

    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 
.... 
func openInfoOverlay() { 
     if self.infoOverlayView == nil { 
      Bundle.main.loadNibNamed("InfoOverlayView", owner: self, options: nil) 
      self.infoOverlayView.target? = self 
     } 

    } 

我得到一個錯誤

無法將類型'MyRepositoryViewController'的值分配爲鍵入 'MyRepositoryViewController!'

在該行

self.infoOverlayView.target? = self 
在MyRepositoryViewController.m

,它正在罰款:

- (void)openInfoOverlay 
{ 
    if (self.infoOverlayView == nil) 
    { 
     [[NSBundle mainBundle] loadNibNamed:@"InfoOverlayView" owner:self options:nil]; 
     self.infoOverlayView.target = self; 
    } 

} 

我在SWIFT編程新手和爲此努力奮鬥了幾天。任何幫助真的很感激。這是我第一次問這個問題。

+0

奇怪的錯誤消息,但拿出'?'。 – Kevin

+1

如果您是Swift新手,請了解可選項以及如何處理它們。這在Swift中很重要 – vadian

回答

0

問凱文提到,是不必要的,我把它放在看看它是否解決了這個問題。感謝所有幫助。

當我去橋接頭並刪除MyRepositoryViewController.h時,該項目可以編譯。

相關問題