Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Details
Many people are confused by the purpose of
Day
. Is it like my customDay
type used in my company's codebase? Is it likeDate
? Is it likeDateComponents
? Why can't I initialize it myself?Day
(andMonth
) are really just small structs that contain some components of a day / month. They're much more similar toDateComponents
, but because they're only created internally and vended out through the public API of the calendar, we can guarantee a few things:Orderable
in relation to any other date that's vended out of the sameCalendarView
instanceCalendar
and date range theCalendarView
was initialized withPeople should treat them like read-only bags of data. They just exist as a way for
CalendarView
to pass some data back to API consumers. Hopefully these new names and documentation tweaks help clarify that a bit, and people stop asking why their initializers aren't public.Related Issue
N/A
Motivation and Context
Improve API and make it more self-documenting.
How Has This Been Tested
Example app
Types of changes
Checklist