2017-04-26 108 views
-1

就像在Objective C中,我們創建一個類的對象訪問類的變量 -如何創建另一個類的對象來訪問Swift中類的變量?

TableViewCell *obj = [[TableViewCell alloc] init]; 

然後使用「目標文件」就可以訪問類的變量。

同樣,我有一個TableViewCell的一個類的UIView的產權和我要訪問的是,在主類ViewController其中表視圖存在的。

我試圖這樣做 -

let viewObj = ViewAllCell() 

裏面viewDidLoad中

viewObj.menuView.isHidden = true; 

但正如這個代碼執行我收到以下錯誤

"fatal error: unexpectedly found nil while unwrapping an Optional value"

我知道這個問題以前必須被問過一百萬次,但是我不明白在Swift中搜索什麼,因爲我對這種語言很陌生,因此我再次問。

+0

分享您嘗試過的代碼和錯誤堆棧跟蹤。 –

+0

'ViewAllCell()'創建類的新實例。它與表視圖中使用的其他實例無關。 – vadian

+0

@AnilKumar這是我得到的整個錯誤。在其餘的代碼中,我只是配置tableview(Delegate,DataSource方法和所有)。 –

回答

-1

無需創建對象到Access類變量。

根據OBJ C =>clasname.staticVariable /**********************/

UITableViewCell *fontCell = [_tableView cellForRowAtIndexPath:[_tableView indexPathForSelectedRow]] 
    UIView *view = Font.view; 

但視圖不能靜態

+0

就是這樣!現在我在tableviewcell的類中有一個uiview屬性。我如何在主視圖控制器類中訪問它? –

+0

現在檢查,我的答案再次 – ajjjjjjjj

0

您的問題不在於訪問變量。 menuView變量是一個可選變量,它被設置爲nil。

案例1: 如果您確定每個ViewAllCell都應該有一個menuView,請不要將其設置爲可選項。您當前的代碼看起來是這樣的:

ViewAllCell.swift

internal var menuView : MenuView? = nil 

修改成:

internal var menuView : MenuView = MenuView(frame:<yourRequiredframe>) 

要麼與menuView = MenuView設置幀這裏,或只是instatiate() ,並在稍後設置。

案例2:

如果你想在menuView是可選的,在您的viewDidLoad中實例化一個menuView()

viewDidLoad中()

let viewObj = ViewAllCell() 
viewObj.menuView = MenuView(frame:<yourRequiredframe>) 
viewObj.menuView.isHidden = true; 

如果你想知道很多,關於optionals,wrapping,unwrapping和guard statements更多,看看這個: http://www.informit.com/articles/article.aspx?p=2469047&seqNum=2

相關問題