You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现用户添加事项至列表?无需大量变量的高效方案

高效实现iOS提醒列表的方案

你原来用大量独立变量存储提醒的方式确实冗余且难以维护,下面是更简洁的实现思路:

1. 定义数据模型

先通过结构体封装提醒和分组的所有属性,把相关数据聚合在一起:

import UIKit

// 定义提醒分组模型
struct ReminderGroup {
    let name: String
    let icon: String // 可根据实际需求替换为UIImage或其他类型
    let iconColor: UIColor
}

// 定义提醒模型
struct Reminder {
    let title: String
    let subtitle: String?
    let description: String?
    let reminderIcon: String?
    let reminderIconColor: UIColor?
    let startTime: Date?
    let endTime: Date?
    let group: ReminderGroup
}

2. 用数组管理所有提醒

无需创建数百个变量,只用一个数组就能存储所有提醒数据:

// 初始化空的提醒列表
var reminders: [Reminder] = []

3. 添加新提醒

创建提醒实例后直接追加到数组中:

// 示例:创建一个工作分组
let workGroup = ReminderGroup(name: "工作", icon: "briefcase", iconColor: .systemBlue)

// 创建新提醒
let newReminder = Reminder(
    title: "完成项目报告",
    subtitle: "下午5点前提交",
    description: "包含Q3季度数据及竞品分析",
    reminderIcon: "doc.text.fill",
    reminderIconColor: .systemBlack,
    startTime: Date(),
    endTime: Date().addingTimeInterval(3600 * 6), // 6小时后
    group: workGroup
)

// 将提醒加入列表
reminders.append(newReminder)

4. 展示提醒列表

通过判断数组是否为空来控制显示逻辑,遍历数组即可渲染所有提醒:

if !reminders.isEmpty {
    // 遍历提醒列表,逐个构建UI
    for reminder in reminders {
        // 这里可以根据reminder的属性创建对应的UI元素
        print("标题:\(reminder.title) | 分组:\(reminder.group.name)")
    }
} else {
    // 显示无提醒的空状态
    print("暂无待办提醒")
}

这种方式的优势在于:

  • 数据结构清晰,所有提醒属性都封装在模型中,易于维护和扩展
  • 用数组统一管理所有提醒,新增、删除、修改提醒都可以通过数组操作实现
  • 符合iOS开发的最佳实践,便于和UITableView/UICollectionView等列表控件绑定,直接用数组作为数据源

内容的提问来源于stack exchange,提问作者Ash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:45:41