ios - 如何在 Swift 中的数组中的特定索引处收集和传递数据?

标签 ios swift nsarray

我的自定义 View 有这个:

var menu = pickerMenu(frame: view.frame, menuItems: *NSArray here*, andDelegate: self)`

我想传递给 menuItems: 的是来自以下位置的所有日历标题:

var calendarsArray: [EKCalendar] = eStore.calendarsForEntityType(EKEntityTypeReminder) as [EKCalendar]

既然用户自然可以添加和删除日历并且数字可以更改,我不能这样做:

    var items = [
        MenuItem (text: calendarsArray[0].title),
        MenuItem (text: calendarsArray[1].title),
        MenuItem (text: calendarsArray[2].title),
        ...
    ]

如何以编程方式从 calendarsArray 获取所有 title 并将它们传递给 menuItems:

我有循环但不知道如何将结果传递给 menuItems

    for (var i:Int=0; i<calendarsArray.count; i++) {
        //            calendarsArray[i].title;
        println("Title:\(calendarsArray[i].title)")
    }

最佳答案

let items = calendarsArray.map { MenuItem(text: $0.title) }

应该为 calendarsArray 中的每个条目获取一组 MenuItem。然后将其传递到 pickerMenu

关于ios - 如何在 Swift 中的数组中的特定索引处收集和传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27576211/

相关文章:

iOS 应用程序 Ad Hoc 安装因配置错误而卡住

iOS 标准定位服务 vs 显着变化定位服务 vs 区域监控

iphone - 使用 Storyboard在 View Controller 之间传递对象 (XCode 4/iOS 5)

ios - SwiftUI:如何从ViewModel的更改中切换警报演示者

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

ios - 通过包含数字的属性的本地化描述对对象数组进行排序

ios - UIViews 在标签栏下方结束

ios - 如何测试 deinit 是否被正确调用?

objective-c - 基于父类(super class)中的 NSInteger 属性使用 NSPredicate 过滤对象数组

objective-c - 将 NSStrings 的 NSArray 与另一个 NSStrings 的 NSArray 进行比较