所以我试图迭代一个 NSArray。我的 NSArray 是一个字符串数组的数组。这是前 1.5 个元素的复制粘贴
(
(
"Tater Tot Nachos",
"Fried Feta",
"The Ultimate Feta Bread",
"Cheese Bread",
"Aubrees Bread",
"The Wings!",
"Coconut Grove Chicken Sicks",
"Far East Wings",
"Bacon Brussels Sprouts"
),
(
"Shaved Brussels Sprout Salad",
"Greek Salad",
"Coronado Cobb Salad",
"Harvest Salad",
Run Code Online (Sandbox Code Playgroud)
这是让我头疼的功能
func createMenu() {
if let list = cellDescripters {
for(index, item) in list.enumerated() {
for food in item {
//DO SOMETHING WITH "FOOD"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
' cellDescripters ' 是一个全局变量,它是我在顶部概述的数组,基本上是一个字符串数组数组。
当我打印“ item …
我正在尝试对Array类型进行扩展,以便能够使用2D数组.事实上,我在Objective-C中做到了这一点,下面的代码就像一个魅力.但我真的陷入了斯威夫特.
extension Array {
mutating func addObject(anObject : AnyObject, toSubarrayAtIndex idx : Int) {
while self.count <= idx {
let newSubArray = [AnyObject]()
self.append(newSubArray)
}
var subArray = self[idx] as! [AnyObject]
subArray.append(anObject)
}
func objectAtIndexPath(indexPath : NSIndexPath) -> AnyObject {
let subArray = self[indexPath.section] as! Array
return subArray[indexPath.row] as! AnyObject
}
Run Code Online (Sandbox Code Playgroud)
}
无论我做什么,我都会收到代码示例中提到的错误.我很感激任何帮助.谢谢.
更新感谢Roman Sausarnes
正确的代码是这样的:
extension Array where Element: _ArrayType, Element.Generator.Element: AnyObject {
mutating func addObject(anObject : Element.Generator.Element, toSubarrayAtIndex idx : Int) {
while self.count <= idx {
let …Run Code Online (Sandbox Code Playgroud)