Skip to content
Commits on Feb 2, 2011
  1. @klazuka

    Fixed re-load view hierarchy bug.

    klazuka committed
    This closes issue #23 on GitHub. The issue was related to how we re-construct the view hierarchy after a low memory warning from the system. If the user had changed to a month different than the initial month when KalViewController was created, it would fail to find the appropriate KalTileView for the value that it had stored as the initially selected date. The solution is to re-cache the initially selected date when a low memory warning occurs.
    
    Original bug report by jgchristian:
    Steps to reproduce:
    1. Start your Holiday app
    2. Slide to the next month (i.e. not the current month)
    3. Select an event and view the holiday details
    4. When on the details screen, quit to the springboard by single clicking the home button (not double clicking to background). We need to force the device to want to reload the grid when we return - so you may need to do some memory intensive stuff - but not generally the case for me.
    5. Relaunch the Holiday app. This returns you to the details screen
    6. Now press back to return to the grid. Crash log below
    
    From the looks of the code this is happening because the 'logic' object is still on the next month (correct), but when loadView is triggered by the OS trying to re-instantiate the view it defaults to setting the current date on the grid - which was in the previous month so assertion fails as cell is nil.
    
    Thought about maintaining last user-selected date but started to get fiddly.
    
    2011-02-02 08:20:24.961 Holiday[3471:307] Received memory warning. Level=2
    2011-02-02 08:20:28.382 Holiday[3471:307] Assertion failure in -[KalMonthView tileForDate:], /Users/j.christian/dev/Kal/src/KalMonthView.m:84
    2011-02-02 08:20:28.510 Holiday[3471:307] Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Failed to find corresponding tile for date 2/2/2011'
Commits on Jan 22, 2011
  1. @klazuka

    Made it easier to override KalViewController's title.

    klazuka committed
    Prior to this commit, KalViewController used to clobber its 'title'
    property inherited from UIViewController in its loadView method. I
    changed this so that now it only sets a default title if the title
    property is nil. I modified both of the example apps to set the
    KalViewController's title explicitly.
    
    This makes it easier for clients of KalViewController to customize its
    behavior without resorting to subclassing or the even more drastic
    measure of modifying KalViewController's implementation.
    
    This closes issue #17 on GitHub.
  2. @klazuka

    Fixed KalViewController delegate/dataSource retain bug.

    klazuka committed
    A regression was introduced in SHA: 8fa33f4 where the
    KalViewController's delegate and dataSource properties were being
    retained by the setter implementation but were declared to be assigned
    properties. My intent was that these were weak references, and so this
    commit removes the retains. As a client of KalViewController, it is
    your responsibility to ensure that the lifetime of the
    KalViewController's delegate and dataSource properties has at least the
    same extent as the KalViewController object itself.
    
    This closes issue #18 on GitHub.
  3. @klazuka
Commits on Sep 24, 2010
  1. @klazuka
  2. @klazuka

    Slide animation: fade previous month out while fading in the next mon…

    klazuka committed
    …th. (thanks Daniel Gindi)
Commits on Sep 9, 2010
  1. @klazuka
  2. @klazuka
Commits on Aug 3, 2010
  1. @klazuka

    Fixed bug in calendar month header where month name was incorrectly d…

    klazuka committed
    …isplayed for languages such as Russian which have a separate stand-alone form of the month name.
Commits on Jul 23, 2010
  1. @klazuka

    Follow-up to follow-up to f2f9ff8: Uggh. Ok, I think this is the fina…

    klazuka committed
    …l part to the bugfix. I wish I would have tested this sooner on the real device.
  2. @klazuka
  3. @klazuka

    CRITICAL BUG FIX: today's date and iOS 4.0 multitasking.

    klazuka committed
    Root cause: If an application using Kal is suspended in the background for an extended period of time (specifically, crossing the midnight threshold), when the app is resumed, Kal will still think that "today" has not changed. In my original implementation, I had naively assumed that the app would never be used for such an extended period of time, but iOS 4.0 multitasking makes my assumption invalid.
    
    Solution: Listen for the UIApplicationSignificantTimeChangeNotification from the OS and respond appropriately by recaching today's date and refreshing the UI.
Commits on Jul 12, 2010
  1. @klazuka

    Updated EventKit example app to asynchronously fetch events from the …

    klazuka committed
    …EKEventStore using a GCD queue.
Commits on Jul 9, 2010
  1. @klazuka

    Updated README. Please read.

    klazuka committed
  2. @klazuka
  3. @klazuka

    Added support for the KalDataSource to notify Kal that the UI needs t…

    klazuka committed
    …o be refreshed. Added EKEventStoreChangedNotification handling to NativeCal example app.
Commits on Jul 7, 2010
  1. @klazuka

    Added EventKit example

    klazuka committed
Commits on Jul 6, 2010
  1. @klazuka

    Significant changes to how Kal is built.

    klazuka committed
    - Refactored the project structure into 2 Xcode projects: one that builds the static library and one that builds an example app using Kal.
    - Switched over to the iOS 4.0 SDK (in preparation for EventKit demo and Retina Display support).
Commits on Jul 5, 2010
  1. @klazuka
Commits on Mar 11, 2010
  1. @klazuka

    Updated the README

    klazuka committed
  2. @klazuka

    Renamed the '*IfVisible' methods and added an assertion that the date…

    klazuka committed
    …'s corresponding tile can actually be found (i.e. it is visible)
  3. @klazuka

    New feature: show and select arbitrary dates

    klazuka committed
    1) When creating a KalViewController, you can now specify the initial selected date (before it always just displayed and selected today's date)
    2) You can now send a message to KalViewController to show and select an arbitrary date (before you could only tell it to show today's date).
Commits on Jan 12, 2010
  1. @klazuka

    KalViewController's designated initializer is now 'init'. HolidaysDem…

    klazuka committed
    …o now shows how to push a details view controller when the user taps a holiday listed below the calendar.
  2. @klazuka

    Fixed an animation bug.

    klazuka committed
    -[UIView setAnimationsEnabled:] is *not* scoped to the UIView animation transaction. So if you turn off animations, make sure you turn them back on immediately after the animation is triggered.
Commits on Jan 3, 2010
  1. @klazuka

    More code cleanup

    klazuka committed
  2. @klazuka

    Fixed 2 memory leaks

    klazuka committed
  3. @klazuka
  4. @klazuka

    KalViewController now exposes its UITableView as a property.

    klazuka committed
    This allows you to provide your own UITableViewDelegate or to override the configuration of the UITableView (row height, separator color, etc.)
  5. @klazuka
  6. @klazuka
  7. @klazuka
Commits on Jan 2, 2010
  1. @klazuka
  2. @klazuka

    Major overhaul of KalDataSource protocol and internal date representa…

    klazuka committed
    …tion.
    
    Merge branch 'KalDate'
  3. @klazuka
  4. @klazuka

    HolidaysDemo: sqlite and json examples now with more countries and th…

    klazuka committed
    …e cell displays the holiday country's flag
Something went wrong with that request. Please try again.