2016-11-19 36 views
-2

我會欣賞你的幫助。 我宣佈新的新的空數組:Swift 3 NSMuttableArray

VAR cellDescriptors =任何

但是當我嘗試在某個地方使用它,我總是收到相同的錯誤=「類型‘任何’有沒有下的成員」。

例如:

var cellDescriptors = [Any]() 
var visibleRowsPerSection = [[Int]]() 

func loadCellDescriptors() { 
if let path = Bundle.main.path(forResource: "CellDescriptor", ofType: "plist") { 
cellDescriptors = NSMutableArray(contentsOfFile: path)as AnyObject? 
    getIndicesOfVisibleRows() 
    tblExpandable.reloadData() 

我看了很多,發現了斯威夫特3.0.1一些變化,但我不明白,這改變了我需要做的,解決它。

我嘗試使用以下命令:swift 3: Type 'Any?' has no subscript members

但不幸的是它不是在我的情況下工作。 試圖使用[AnyHashable:Any]。

非常感謝!

+2

你通常不應該在Swift中使用NSMutableArray。除此之外,錯誤是什麼? – Alexander

+0

我需要用什麼?錯誤出現在行「let myArray = ...」 – LeonidB

+0

好的。我想我知道什麼是問題,但我不知道它如何連接到swift 3.如果我有一個數組如果字典,我怎麼能得到特定字典的特定鍵的值? – LeonidB

回答

0

您正在嘗試下標編譯器不知道的是CollectioncellDescriptors[Any],cellDescriptors[indexPath.section]Any,並且您正在嘗試標記該Any

首先,請不要在Swift中使用NSMutableArray。您需要申報您的cellDescriptorsArray<Array<Something>>(又名[[Something]]),以便您在indexPath.section下標一次時,您將獲得Array<Something>(又名[Something])。最後,您可以再次下標以獲取您的Something。將Something更改爲您實際處理的任何類型。