Changed to archiving cache items to prevent NSUserDefault property list errors (you will need to flush cache for old code), added method to flush cache, wrapped cache getter in try-catch block,