Swiftpack.co - Festivals-App/timetablekit-ios as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
The timetable view implementation for iOS and macOS.
.package(url: "https://github.com/Festivals-App/timetablekit-ios.git", from: "0.0.6")



The TimetableKit provides you with a timetable view that manages an ordered collection of event items and presents them in the planned order.


When adding a timetable view to your user interface, your app’s main job is to manage the event data associated with that timetable view. The timetable view gets its data from the data source object, which is an object that conforms to the TimetableDataSource protocol and is provided by your app. Data in the timetable view is organized into individual event items, which can then be grouped into locations and sections for presentation. An event item is the elementary data for the timetable view.

A timetable view is made up of zero or more sections, each with its own locations. Sections are identified by their index number within the timetable view, and locations are identified by their index number within a section. Each row has one ore more event tiles. Event tiles are identified by their index number within the location.

Data Structure

The structure of the timetable includes following components:

  • Event Events are the elementary data for the timetable. An event is basically an entity which is defined by it's occurence in time specified by a time interval a name attribute and a location where it occures.

  • Location A group of events associated with the same location where they occure.

  • Section A number of locations which are grouped together by theme or motto. This can be anything, for a festival there could be one section for the stages and one for the food shops.


  • iOS 10.0+
  • Xcode 10.1+


  • The timetable view is not able to display overlapping or simultan occuring events at the same location, you have to split these locations into sub-locations if this happens in your scenario.
  • The timetable view is meant for displaying events that have a duration of hours not days. If you need to display lengthy events please consider to use a calendar view.



Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate TimetableKit into your Xcode project using Carthage, specify it in your Cartfile:

github "Festivals-App/timetablekit-ios" ~> 0.1

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. It is in early development, but TimetableKit does support its use on supported platforms.

Once you have your Swift package set up, adding TimetableKit as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/Festivals-App/timetablekit-ios.git", .upToNextMajor(from: "0.1"))


If you prefer not to use Carthage or the Swift Package Manager, you can integrate TimetableKit into your project manually. You only need to build and add the TimetableKit framework (TimetableKit.framework) to your project.



The following channels are available for discussions, feedback, and support requests:

Type Channel
General Discussion
Concept Feedback
Other Requests


Copyright (c) 2020 Simon Gaus.

Licensed under the GNU Lesser General Public License v3.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.html.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.


Stars: 1
Last commit: 6 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics