All Projects → chironyf → birthday-keeper

chironyf / birthday-keeper

Licence: MIT License
一个生日管理APP, UI风格模仿的系统闹钟, 可以添加, 编辑, 删除生日以及本地推送提醒, 项目截图见README.

Programming Languages

objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to birthday-keeper

PushNotifications
Push Notification using Embarcadero Rad Studio Tokyo 10.2.3 on Android and Apple Devices written in C++ and Delphi
Stars: ✭ 12 (-55.56%)
Mutual labels:  notification, push
Pushraven
A simple Java library to interface with Firebase Cloud Messaging (FCM) API. Pushraven allows you to push notifications to clients in very few lines of code.
Stars: ✭ 67 (+148.15%)
Mutual labels:  notification, push
spontit-api-python-wrapper
Send functional, flexible push notifications to iOS, Android, and desktop devices (without your own app or website).
Stars: ✭ 35 (+29.63%)
Mutual labels:  notification, push
Pushnotifications
🐉 A macOS, Linux, Windows app to test push notifications on iOS and Android
Stars: ✭ 1,813 (+6614.81%)
Mutual labels:  notification, push
iOSProjects
It's project that contains different applications developed with Swift 5.7 👨‍💻👩🏼‍💻🧑🏿‍💻
Stars: ✭ 122 (+351.85%)
Mutual labels:  tableview, ios-app
SwiftUI-DesignCode
 SwiftUI-DesignCode is some examples in the process of learning swiftUI 2.0
Stars: ✭ 185 (+585.19%)
Mutual labels:  clock, notification
PushMeBaby
iOS Push Notification Debug App. You can use this app during iOS Push Notification (development or production) to push notifications on your device from your Mac.
Stars: ✭ 47 (+74.07%)
Mutual labels:  notification, push
Pageable
An easy way to Pagination or Infinite scrolling for TableView/CollectionView
Stars: ✭ 44 (+62.96%)
Mutual labels:  tableview
Actions
⚙️ Supercharge your shortcuts
Stars: ✭ 640 (+2270.37%)
Mutual labels:  ios-app
Pomosh-iOS-watchOS
🍅Pomosh is your next awesome Pomodoro Technique assistant on 📱iOS and ⌚️ WatchOS 🙌. It's native and lightweight. Uses SwiftUI. has a nice tomato icon and also ready for macOS too🔥
Stars: ✭ 50 (+85.19%)
Mutual labels:  ios-app
Explorer-for-GitHub
📱An iOS app that lets you explore repositories on GitHub
Stars: ✭ 14 (-48.15%)
Mutual labels:  ios-app
lndr-mobile
LNDR mobile app in React Native
Stars: ✭ 14 (-48.15%)
Mutual labels:  ios-app
timer.cljs
Scheduling async operations in Clojurescript
Stars: ✭ 22 (-18.52%)
Mutual labels:  clock
chomex
Chrome Extension Messaging Routing Kit / Promisify Chrome Messaging / LocalStorage Object Mapper
Stars: ✭ 41 (+51.85%)
Mutual labels:  localstorage
actpy
Python framework for business applications contains ERP , CRM , HRM , MRP , POS and many more
Stars: ✭ 30 (+11.11%)
Mutual labels:  management
HotelManagementSystem
Hotel Management System created with Restify and Angular 9
Stars: ✭ 23 (-14.81%)
Mutual labels:  management
TVToday
iOS TV Shows app with TMDb Api. RxSwift, MVVM, Clean Architecture. Tuist + Swift Package Manager
Stars: ✭ 27 (+0%)
Mutual labels:  ios-app
been-pwned
App that leverages the haveibeenpwned.com API by Troy Hunt. This app is available in the App Stores and is used in several of my talks as well as my book Xamarin.Forms Essentials.
Stars: ✭ 19 (-29.63%)
Mutual labels:  ios-app
wp-idea-stream
Share ideas, great ones will rise to the top!
Stars: ✭ 26 (-3.7%)
Mutual labels:  management
manager-automation
Automating management tasks to help managers focus on more strategic wins.
Stars: ✭ 31 (+14.81%)
Mutual labels:  management

项目简介

  • 一个生日管理APP, UI风格仿照的系统闹钟, 可以添加, 编辑, 删除生日以及本地推送提醒, 系统最低要求是iOS 9.0

主要思路

  • 用户添加生日之后开启推送(默认关闭), 首先会根据现在的时间与用户选择的时间计算出第一次推送的时间, 最后设置推送周期为一年即可
  • 项目整体采用MVC架构, 核心数据是一个BirthdayCellModel类型的可变数组birthdayInfo, 作为主控制器的一个属性, 用来保存添加过的生日信息
  • 单例用于同步数据, 以便进行存储, 提取
  • 在添加推送的时候, userInfo字典以创建的时间字符串(created time唯一)作为值, created time只在创建的时候被赋值
  • 需要注意一下, 数据模型中的prompt(提示)和remindTime(提醒时间)中途写反了的, 后来干脆将错就错, 反正也不影响, 所以实际展示的时间来自prompt, 提示标签来自remindTime
  • 有一个坑点需要注意, 用普通的方式是无法对可变数组添加观察者的, 需要调用一个KVC方法, 如下例子所示
//需要调用这个方法 mutableArrayValueForKeyPath:
[[self mutableArrayValueForKeyPath:@"birthdayInfo"] insertObject:[_tempCellModel copy] atIndex:0];

项目截图

主界面, 展示添加过的生日列表, 右侧的switch可以控制是否推送通知

编辑页面

添加生日界面

编辑提示标签

推送

联系

由于个人水平有限, 项目中还有很多不足的地方, 如果您有什么好的建议或者意见, 欢迎随时联系我

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].