Эх сурвалжийг харах

Upgraded to Swift 4. Small fixes in the blog and activities sections

Iñigo Valentin 8 жил өмнө
parent
commit
3d6f31a7dd
84 өөрчлөгдсөн 2016 нэмэгдсэн , 99 устгасан
  1. 640 5
      app.xcodeproj/project.pbxproj
  2. 6 1
      app/ActivitiesView.swift
  3. 1 1
      app/AlbumViewController.swift
  4. 27 26
      app/Base.lproj/Main.storyboard
  5. 1 1
      app/EventController.swift
  6. 1 1
      app/FutureActivityViewController.swift
  7. 1 1
      app/GalleryView.swift
  8. 6 6
      app/HomeView.swift
  9. 2 2
      app/LablancaView.swift
  10. 1 1
      app/LocationView.swift
  11. 16 0
      app/NSManagedObjects/app/Base.lproj/Activity+CoreDataClass.swift
  12. 41 0
      app/NSManagedObjects/app/Base.lproj/Activity+CoreDataProperties.swift
  13. 16 0
      app/NSManagedObjects/app/Base.lproj/Activity_comment+CoreDataClass.swift
  14. 27 0
      app/NSManagedObjects/app/Base.lproj/Activity_comment+CoreDataProperties.swift
  15. 16 0
      app/NSManagedObjects/app/Base.lproj/Activity_image+CoreDataClass.swift
  16. 25 0
      app/NSManagedObjects/app/Base.lproj/Activity_image+CoreDataProperties.swift
  17. 16 0
      app/NSManagedObjects/app/Base.lproj/Activity_itinerary+CoreDataClass.swift
  18. 33 0
      app/NSManagedObjects/app/Base.lproj/Activity_itinerary+CoreDataProperties.swift
  19. 16 0
      app/NSManagedObjects/app/Base.lproj/Activity_tag+CoreDataClass.swift
  20. 23 0
      app/NSManagedObjects/app/Base.lproj/Activity_tag+CoreDataProperties.swift
  21. 16 0
      app/NSManagedObjects/app/Base.lproj/Album+CoreDataClass.swift
  22. 31 0
      app/NSManagedObjects/app/Base.lproj/Album+CoreDataProperties.swift
  23. 16 0
      app/NSManagedObjects/app/Base.lproj/Festival+CoreDataClass.swift
  24. 30 0
      app/NSManagedObjects/app/Base.lproj/Festival+CoreDataProperties.swift
  25. 16 0
      app/NSManagedObjects/app/Base.lproj/Festival_day+CoreDataClass.swift
  26. 29 0
      app/NSManagedObjects/app/Base.lproj/Festival_day+CoreDataProperties.swift
  27. 16 0
      app/NSManagedObjects/app/Base.lproj/Festival_event+CoreDataClass.swift
  28. 35 0
      app/NSManagedObjects/app/Base.lproj/Festival_event+CoreDataProperties.swift
  29. 16 0
      app/NSManagedObjects/app/Base.lproj/Festival_event_gm+CoreDataClass.swift
  30. 35 0
      app/NSManagedObjects/app/Base.lproj/Festival_event_gm+CoreDataProperties.swift
  31. 16 0
      app/NSManagedObjects/app/Base.lproj/Festival_event_image+CoreDataClass.swift
  32. 25 0
      app/NSManagedObjects/app/Base.lproj/Festival_event_image+CoreDataProperties.swift
  33. 16 0
      app/NSManagedObjects/app/Base.lproj/Festival_offer+CoreDataClass.swift
  34. 31 0
      app/NSManagedObjects/app/Base.lproj/Festival_offer+CoreDataProperties.swift
  35. 16 0
      app/NSManagedObjects/app/Base.lproj/Location+CoreDataClass.swift
  36. 24 0
      app/NSManagedObjects/app/Base.lproj/Location+CoreDataProperties.swift
  37. 16 0
      app/NSManagedObjects/app/Base.lproj/Notification+CoreDataClass.swift
  38. 33 0
      app/NSManagedObjects/app/Base.lproj/Notification+CoreDataProperties.swift
  39. 16 0
      app/NSManagedObjects/app/Base.lproj/People+CoreDataClass.swift
  40. 26 0
      app/NSManagedObjects/app/Base.lproj/People+CoreDataProperties.swift
  41. 16 0
      app/NSManagedObjects/app/Base.lproj/Photo+CoreDataClass.swift
  42. 37 0
      app/NSManagedObjects/app/Base.lproj/Photo+CoreDataProperties.swift
  43. 16 0
      app/NSManagedObjects/app/Base.lproj/Photo_album+CoreDataClass.swift
  44. 23 0
      app/NSManagedObjects/app/Base.lproj/Photo_album+CoreDataProperties.swift
  45. 16 0
      app/NSManagedObjects/app/Base.lproj/Photo_comment+CoreDataClass.swift
  46. 27 0
      app/NSManagedObjects/app/Base.lproj/Photo_comment+CoreDataProperties.swift
  47. 16 0
      app/NSManagedObjects/app/Base.lproj/Place+CoreDataClass.swift
  48. 31 0
      app/NSManagedObjects/app/Base.lproj/Place+CoreDataProperties.swift
  49. 16 0
      app/NSManagedObjects/app/Base.lproj/Post+CoreDataClass.swift
  50. 32 0
      app/NSManagedObjects/app/Base.lproj/Post+CoreDataProperties.swift
  51. 16 0
      app/NSManagedObjects/app/Base.lproj/Post_comment+CoreDataClass.swift
  52. 27 0
      app/NSManagedObjects/app/Base.lproj/Post_comment+CoreDataProperties.swift
  53. 16 0
      app/NSManagedObjects/app/Base.lproj/Post_image+CoreDataClass.swift
  54. 25 0
      app/NSManagedObjects/app/Base.lproj/Post_image+CoreDataProperties.swift
  55. 16 0
      app/NSManagedObjects/app/Base.lproj/Post_tag+CoreDataClass.swift
  56. 23 0
      app/NSManagedObjects/app/Base.lproj/Post_tag+CoreDataProperties.swift
  57. 16 0
      app/NSManagedObjects/app/Base.lproj/Route+CoreDataClass.swift
  58. 24 0
      app/NSManagedObjects/app/Base.lproj/Route+CoreDataProperties.swift
  59. 16 0
      app/NSManagedObjects/app/Base.lproj/Route_point+CoreDataClass.swift
  60. 30 0
      app/NSManagedObjects/app/Base.lproj/Route_point+CoreDataProperties.swift
  61. 16 0
      app/NSManagedObjects/app/Base.lproj/Sponsor+CoreDataClass.swift
  62. 36 0
      app/NSManagedObjects/app/Base.lproj/Sponsor+CoreDataProperties.swift
  63. 16 0
      app/NSManagedObjects/app/Base.lproj/Version+CoreDataClass.swift
  64. 23 0
      app/NSManagedObjects/app/Base.lproj/Version+CoreDataProperties.swift
  65. 2 2
      app/PastActivityViewController.swift
  66. 9 6
      app/PhotoViewController.swift
  67. 57 2
      app/PostViewController.swift
  68. 2 2
      app/RowAlbum.swift
  69. 1 1
      app/RowBlog.swift
  70. 1 1
      app/RowGallery.swift
  71. 1 1
      app/RowHomeBlog.swift
  72. 1 1
      app/RowHomeFutureActivities.swift
  73. 4 4
      app/RowHomeGallery.swift
  74. 1 1
      app/RowHomePastActivities.swift
  75. 7 7
      app/RowHomeSocial.swift
  76. 3 3
      app/RowItinerary.swift
  77. 1 1
      app/RowPastActivity.swift
  78. 1 1
      app/RowSchedule.swift
  79. 3 3
      app/ScheduleViewController.swift
  80. 2 2
      app/String.swift
  81. 7 7
      app/Sync.swift
  82. 2 2
      app/SyncController.swift
  83. 1 1
      app/ViewController.swift
  84. 6 6
      app/app.xcdatamodeld/app2.xcdatamodel/contents

+ 640 - 5
app.xcodeproj/project.pbxproj

@@ -178,6 +178,60 @@
 		93EB2F0B1EBF5AEB00F64186 /* RowSchedule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RowSchedule.swift; sourceTree = "<group>"; };
 		93EB2F0B1EBF5AEB00F64186 /* RowSchedule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RowSchedule.swift; sourceTree = "<group>"; };
 		93EB2F0D1EBF5BF500F64186 /* RowSchedule.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RowSchedule.xib; sourceTree = "<group>"; };
 		93EB2F0D1EBF5BF500F64186 /* RowSchedule.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RowSchedule.xib; sourceTree = "<group>"; };
 		93EE9ECA1EE9B87100288F6E /* PastActivityViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PastActivityViewController.swift; sourceTree = "<group>"; };
 		93EE9ECA1EE9B87100288F6E /* PastActivityViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PastActivityViewController.swift; sourceTree = "<group>"; };
+		FC63DC6420DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_comment+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC6620DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_comment+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC6820DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Photo+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC6A20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Photo+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC6C20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_event_image+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC6E20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_event_image+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC7020DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC7220DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC7420DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_itinerary+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC7620DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_itinerary+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC7820DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_offer+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC7A20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_offer+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC7C20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Route_point+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC7E20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Route_point+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC8020DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_event+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC8220DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_event+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC8420DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC8620DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC8820DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Version+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC8A20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Version+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC8C20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_event_gm+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC8E20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_event_gm+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC9020DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Place+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC9220DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Place+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC9420DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Location+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC9620DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Location+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC9820DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC9A20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DC9C20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_image+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DC9E20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_image+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCA020DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post_tag+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCA220DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post_tag+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCA420DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Route+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCA620DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Route+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCA820DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post_image+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCAA20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post_image+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCAC20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Album+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCAE20DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Album+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCB020DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Sponsor+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCB220DC16B300C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Sponsor+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCB420DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_tag+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCB620DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Activity_tag+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCB820DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_day+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCBA20DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Festival_day+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCBC20DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post_comment+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCBE20DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Post_comment+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCC020DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Photo_comment+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCC220DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Photo_comment+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCC420DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Photo_album+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCC620DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Photo_album+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCC820DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Notification+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCCA20DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/Notification+CoreDataProperties.swift"; sourceTree = "<group>"; };
+		FC63DCCC20DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/People+CoreDataClass.swift"; sourceTree = "<group>"; };
+		FC63DCCE20DC16B400C9A2E1 /* Base */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Base; path = "app/Base.lproj/People+CoreDataProperties.swift"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 /* End PBXFileReference section */
 
 
 /* Begin PBXFrameworksBuildPhase section */
 /* Begin PBXFrameworksBuildPhase section */
@@ -225,6 +279,7 @@
 		93B84B981D9C31AB006C0F67 /* app */ = {
 		93B84B981D9C31AB006C0F67 /* app */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				FC63DCCF20DC16F200C9A2E1 /* NSManagedObjects */,
 				93348A601EF4273F0093503A /* EventController.swift */,
 				93348A601EF4273F0093503A /* EventController.swift */,
 				93B84BA81D9C31AB006C0F67 /* Info.plist */,
 				93B84BA81D9C31AB006C0F67 /* Info.plist */,
 				93B84BA31D9C31AB006C0F67 /* Assets.xcassets */,
 				93B84BA31D9C31AB006C0F67 /* Assets.xcassets */,
@@ -234,7 +289,6 @@
 				93B84B991D9C31AB006C0F67 /* AppDelegate.swift */,
 				93B84B991D9C31AB006C0F67 /* AppDelegate.swift */,
 				93B84B9D1D9C31AB006C0F67 /* Main.storyboard */,
 				93B84B9D1D9C31AB006C0F67 /* Main.storyboard */,
 				93B84B9B1D9C31AB006C0F67 /* ViewController.swift */,
 				93B84B9B1D9C31AB006C0F67 /* ViewController.swift */,
-				93BEB6D11E7E878300C68DE5 /* PostViewController.swift */,
 				93B408021D9ED44C000FBC99 /* MenuCollectionViewCell.swift */,
 				93B408021D9ED44C000FBC99 /* MenuCollectionViewCell.swift */,
 				93D9EA5F1DE271E700089002 /* Section.xib */,
 				93D9EA5F1DE271E700089002 /* Section.xib */,
 				93D9EA631DE273FD00089002 /* Section.swift */,
 				93D9EA631DE273FD00089002 /* Section.swift */,
@@ -254,6 +308,7 @@
 				93075C6B1E59CB6B00396389 /* BlogView.swift */,
 				93075C6B1E59CB6B00396389 /* BlogView.swift */,
 				93075C711E59D06900396389 /* RowBlog.xib */,
 				93075C711E59D06900396389 /* RowBlog.xib */,
 				93075C6F1E59D04A00396389 /* RowBlog.swift */,
 				93075C6F1E59D04A00396389 /* RowBlog.swift */,
+				93BEB6D11E7E878300C68DE5 /* PostViewController.swift */,
 				93D9EA751DE3ACBB00089002 /* Sync.swift */,
 				93D9EA751DE3ACBB00089002 /* Sync.swift */,
 				9357460F1EE20B99005DED61 /* FetchLocation.swift */,
 				9357460F1EE20B99005DED61 /* FetchLocation.swift */,
 				931AA5881E1AFF8C003A2290 /* String.swift */,
 				931AA5881E1AFF8C003A2290 /* String.swift */,
@@ -320,6 +375,67 @@
 			name = Frameworks;
 			name = Frameworks;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
+		FC63DCCF20DC16F200C9A2E1 /* NSManagedObjects */ = {
+			isa = PBXGroup;
+			children = (
+				FC63DC6320DC16B300C9A2E1 /* Activity_comment+CoreDataClass.swift */,
+				FC63DC6520DC16B300C9A2E1 /* Activity_comment+CoreDataProperties.swift */,
+				FC63DC6720DC16B300C9A2E1 /* Photo+CoreDataClass.swift */,
+				FC63DC6920DC16B300C9A2E1 /* Photo+CoreDataProperties.swift */,
+				FC63DC6B20DC16B300C9A2E1 /* Festival_event_image+CoreDataClass.swift */,
+				FC63DC6D20DC16B300C9A2E1 /* Festival_event_image+CoreDataProperties.swift */,
+				FC63DC6F20DC16B300C9A2E1 /* Post+CoreDataClass.swift */,
+				FC63DC7120DC16B300C9A2E1 /* Post+CoreDataProperties.swift */,
+				FC63DC7320DC16B300C9A2E1 /* Activity_itinerary+CoreDataClass.swift */,
+				FC63DC7520DC16B300C9A2E1 /* Activity_itinerary+CoreDataProperties.swift */,
+				FC63DC7720DC16B300C9A2E1 /* Festival_offer+CoreDataClass.swift */,
+				FC63DC7920DC16B300C9A2E1 /* Festival_offer+CoreDataProperties.swift */,
+				FC63DC7B20DC16B300C9A2E1 /* Route_point+CoreDataClass.swift */,
+				FC63DC7D20DC16B300C9A2E1 /* Route_point+CoreDataProperties.swift */,
+				FC63DC7F20DC16B300C9A2E1 /* Festival_event+CoreDataClass.swift */,
+				FC63DC8120DC16B300C9A2E1 /* Festival_event+CoreDataProperties.swift */,
+				FC63DC8320DC16B300C9A2E1 /* Activity+CoreDataClass.swift */,
+				FC63DC8520DC16B300C9A2E1 /* Activity+CoreDataProperties.swift */,
+				FC63DC8720DC16B300C9A2E1 /* Version+CoreDataClass.swift */,
+				FC63DC8920DC16B300C9A2E1 /* Version+CoreDataProperties.swift */,
+				FC63DC8B20DC16B300C9A2E1 /* Festival_event_gm+CoreDataClass.swift */,
+				FC63DC8D20DC16B300C9A2E1 /* Festival_event_gm+CoreDataProperties.swift */,
+				FC63DC8F20DC16B300C9A2E1 /* Place+CoreDataClass.swift */,
+				FC63DC9120DC16B300C9A2E1 /* Place+CoreDataProperties.swift */,
+				FC63DC9320DC16B300C9A2E1 /* Location+CoreDataClass.swift */,
+				FC63DC9520DC16B300C9A2E1 /* Location+CoreDataProperties.swift */,
+				FC63DC9720DC16B300C9A2E1 /* Festival+CoreDataClass.swift */,
+				FC63DC9920DC16B300C9A2E1 /* Festival+CoreDataProperties.swift */,
+				FC63DC9B20DC16B300C9A2E1 /* Activity_image+CoreDataClass.swift */,
+				FC63DC9D20DC16B300C9A2E1 /* Activity_image+CoreDataProperties.swift */,
+				FC63DC9F20DC16B300C9A2E1 /* Post_tag+CoreDataClass.swift */,
+				FC63DCA120DC16B300C9A2E1 /* Post_tag+CoreDataProperties.swift */,
+				FC63DCA320DC16B300C9A2E1 /* Route+CoreDataClass.swift */,
+				FC63DCA520DC16B300C9A2E1 /* Route+CoreDataProperties.swift */,
+				FC63DCA720DC16B300C9A2E1 /* Post_image+CoreDataClass.swift */,
+				FC63DCA920DC16B300C9A2E1 /* Post_image+CoreDataProperties.swift */,
+				FC63DCAB20DC16B300C9A2E1 /* Album+CoreDataClass.swift */,
+				FC63DCAD20DC16B300C9A2E1 /* Album+CoreDataProperties.swift */,
+				FC63DCAF20DC16B300C9A2E1 /* Sponsor+CoreDataClass.swift */,
+				FC63DCB120DC16B300C9A2E1 /* Sponsor+CoreDataProperties.swift */,
+				FC63DCB320DC16B300C9A2E1 /* Activity_tag+CoreDataClass.swift */,
+				FC63DCB520DC16B400C9A2E1 /* Activity_tag+CoreDataProperties.swift */,
+				FC63DCB720DC16B400C9A2E1 /* Festival_day+CoreDataClass.swift */,
+				FC63DCB920DC16B400C9A2E1 /* Festival_day+CoreDataProperties.swift */,
+				FC63DCBB20DC16B400C9A2E1 /* Post_comment+CoreDataClass.swift */,
+				FC63DCBD20DC16B400C9A2E1 /* Post_comment+CoreDataProperties.swift */,
+				FC63DCBF20DC16B400C9A2E1 /* Photo_comment+CoreDataClass.swift */,
+				FC63DCC120DC16B400C9A2E1 /* Photo_comment+CoreDataProperties.swift */,
+				FC63DCC320DC16B400C9A2E1 /* Photo_album+CoreDataClass.swift */,
+				FC63DCC520DC16B400C9A2E1 /* Photo_album+CoreDataProperties.swift */,
+				FC63DCC720DC16B400C9A2E1 /* Notification+CoreDataClass.swift */,
+				FC63DCC920DC16B400C9A2E1 /* Notification+CoreDataProperties.swift */,
+				FC63DCCB20DC16B400C9A2E1 /* People+CoreDataClass.swift */,
+				FC63DCCD20DC16B400C9A2E1 /* People+CoreDataProperties.swift */,
+			);
+			path = NSManagedObjects;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 /* End PBXGroup section */
 
 
 /* Begin PBXNativeTarget section */
 /* Begin PBXNativeTarget section */
@@ -353,7 +469,7 @@
 					93B84B951D9C31AB006C0F67 = {
 					93B84B951D9C31AB006C0F67 = {
 						CreatedOnToolsVersion = 8.0;
 						CreatedOnToolsVersion = 8.0;
 						DevelopmentTeam = 9F9ER4X7TG;
 						DevelopmentTeam = 9F9ER4X7TG;
-						LastSwiftMigration = 0830;
+						LastSwiftMigration = 0920;
 						ProvisioningStyle = Automatic;
 						ProvisioningStyle = Automatic;
 						SystemCapabilities = {
 						SystemCapabilities = {
 							com.apple.BackgroundModes = {
 							com.apple.BackgroundModes = {
@@ -486,6 +602,438 @@
 			name = LaunchScreen.storyboard;
 			name = LaunchScreen.storyboard;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
+		FC63DC6320DC16B300C9A2E1 /* Activity_comment+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC6420DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity_comment+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC6520DC16B300C9A2E1 /* Activity_comment+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC6620DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity_comment+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC6720DC16B300C9A2E1 /* Photo+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC6820DC16B300C9A2E1 /* Base */,
+			);
+			name = "Photo+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC6920DC16B300C9A2E1 /* Photo+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC6A20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Photo+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC6B20DC16B300C9A2E1 /* Festival_event_image+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC6C20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_event_image+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC6D20DC16B300C9A2E1 /* Festival_event_image+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC6E20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_event_image+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC6F20DC16B300C9A2E1 /* Post+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7020DC16B300C9A2E1 /* Base */,
+			);
+			name = "Post+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7120DC16B300C9A2E1 /* Post+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7220DC16B300C9A2E1 /* Base */,
+			);
+			name = "Post+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7320DC16B300C9A2E1 /* Activity_itinerary+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7420DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity_itinerary+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7520DC16B300C9A2E1 /* Activity_itinerary+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7620DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity_itinerary+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7720DC16B300C9A2E1 /* Festival_offer+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7820DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_offer+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7920DC16B300C9A2E1 /* Festival_offer+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7A20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_offer+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7B20DC16B300C9A2E1 /* Route_point+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7C20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Route_point+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7D20DC16B300C9A2E1 /* Route_point+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC7E20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Route_point+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC7F20DC16B300C9A2E1 /* Festival_event+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8020DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_event+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8120DC16B300C9A2E1 /* Festival_event+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8220DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_event+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8320DC16B300C9A2E1 /* Activity+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8420DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8520DC16B300C9A2E1 /* Activity+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8620DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8720DC16B300C9A2E1 /* Version+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8820DC16B300C9A2E1 /* Base */,
+			);
+			name = "Version+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8920DC16B300C9A2E1 /* Version+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8A20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Version+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8B20DC16B300C9A2E1 /* Festival_event_gm+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8C20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_event_gm+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8D20DC16B300C9A2E1 /* Festival_event_gm+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC8E20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival_event_gm+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC8F20DC16B300C9A2E1 /* Place+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9020DC16B300C9A2E1 /* Base */,
+			);
+			name = "Place+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9120DC16B300C9A2E1 /* Place+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9220DC16B300C9A2E1 /* Base */,
+			);
+			name = "Place+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9320DC16B300C9A2E1 /* Location+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9420DC16B300C9A2E1 /* Base */,
+			);
+			name = "Location+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9520DC16B300C9A2E1 /* Location+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9620DC16B300C9A2E1 /* Base */,
+			);
+			name = "Location+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9720DC16B300C9A2E1 /* Festival+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9820DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9920DC16B300C9A2E1 /* Festival+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9A20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Festival+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9B20DC16B300C9A2E1 /* Activity_image+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9C20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity_image+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9D20DC16B300C9A2E1 /* Activity_image+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DC9E20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Activity_image+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DC9F20DC16B300C9A2E1 /* Post_tag+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCA020DC16B300C9A2E1 /* Base */,
+			);
+			name = "Post_tag+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCA120DC16B300C9A2E1 /* Post_tag+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCA220DC16B300C9A2E1 /* Base */,
+			);
+			name = "Post_tag+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCA320DC16B300C9A2E1 /* Route+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCA420DC16B300C9A2E1 /* Base */,
+			);
+			name = "Route+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCA520DC16B300C9A2E1 /* Route+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCA620DC16B300C9A2E1 /* Base */,
+			);
+			name = "Route+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCA720DC16B300C9A2E1 /* Post_image+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCA820DC16B300C9A2E1 /* Base */,
+			);
+			name = "Post_image+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCA920DC16B300C9A2E1 /* Post_image+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCAA20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Post_image+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCAB20DC16B300C9A2E1 /* Album+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCAC20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Album+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCAD20DC16B300C9A2E1 /* Album+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCAE20DC16B300C9A2E1 /* Base */,
+			);
+			name = "Album+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCAF20DC16B300C9A2E1 /* Sponsor+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCB020DC16B300C9A2E1 /* Base */,
+			);
+			name = "Sponsor+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCB120DC16B300C9A2E1 /* Sponsor+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCB220DC16B300C9A2E1 /* Base */,
+			);
+			name = "Sponsor+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCB320DC16B300C9A2E1 /* Activity_tag+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCB420DC16B400C9A2E1 /* Base */,
+			);
+			name = "Activity_tag+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCB520DC16B400C9A2E1 /* Activity_tag+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCB620DC16B400C9A2E1 /* Base */,
+			);
+			name = "Activity_tag+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCB720DC16B400C9A2E1 /* Festival_day+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCB820DC16B400C9A2E1 /* Base */,
+			);
+			name = "Festival_day+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCB920DC16B400C9A2E1 /* Festival_day+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCBA20DC16B400C9A2E1 /* Base */,
+			);
+			name = "Festival_day+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCBB20DC16B400C9A2E1 /* Post_comment+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCBC20DC16B400C9A2E1 /* Base */,
+			);
+			name = "Post_comment+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCBD20DC16B400C9A2E1 /* Post_comment+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCBE20DC16B400C9A2E1 /* Base */,
+			);
+			name = "Post_comment+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCBF20DC16B400C9A2E1 /* Photo_comment+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCC020DC16B400C9A2E1 /* Base */,
+			);
+			name = "Photo_comment+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCC120DC16B400C9A2E1 /* Photo_comment+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCC220DC16B400C9A2E1 /* Base */,
+			);
+			name = "Photo_comment+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCC320DC16B400C9A2E1 /* Photo_album+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCC420DC16B400C9A2E1 /* Base */,
+			);
+			name = "Photo_album+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCC520DC16B400C9A2E1 /* Photo_album+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCC620DC16B400C9A2E1 /* Base */,
+			);
+			name = "Photo_album+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCC720DC16B400C9A2E1 /* Notification+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCC820DC16B400C9A2E1 /* Base */,
+			);
+			name = "Notification+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCC920DC16B400C9A2E1 /* Notification+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCCA20DC16B400C9A2E1 /* Base */,
+			);
+			name = "Notification+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCCB20DC16B400C9A2E1 /* People+CoreDataClass.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCCC20DC16B400C9A2E1 /* Base */,
+			);
+			name = "People+CoreDataClass.swift";
+			sourceTree = "<group>";
+		};
+		FC63DCCD20DC16B400C9A2E1 /* People+CoreDataProperties.swift */ = {
+			isa = PBXVariantGroup;
+			children = (
+				FC63DCCE20DC16B400C9A2E1 /* Base */,
+			);
+			name = "People+CoreDataProperties.swift";
+			sourceTree = "<group>";
+		};
 /* End PBXVariantGroup section */
 /* End PBXVariantGroup section */
 
 
 /* Begin XCBuildConfiguration section */
 /* Begin XCBuildConfiguration section */
@@ -493,27 +1041,47 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_NOTICES = NO;
+				ASSETCATALOG_WARNINGS = NO;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_ASSIGN_ENUM = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_CXX0X_EXTENSIONS = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_INFINITE_RECURSION = YES;
 				CLANG_WARN_INFINITE_RECURSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 				CLANG_WARN_SUSPICIOUS_MOVES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVES = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = NO;
 				COPY_PHASE_STRIP = NO;
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_INCREMENTAL_DISTILL = NO;
+				ENABLE_NS_ASSERTIONS = YES;
+				ENABLE_ONLY_ACTIVE_RESOURCES = YES;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;
 				ENABLE_TESTABILITY = YES;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
@@ -524,11 +1092,32 @@
 					"DEBUG=1",
 					"DEBUG=1",
 					"$(inherited)",
 					"$(inherited)",
 				);
 				);
+				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+				GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				"GCC_WARN_64_TO_32_BIT_CONVERSION[arch=*64]" = YES_ERROR;
+				GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
+				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
+				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
+				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_MISSING_PARENTHESES = NO;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+				GCC_WARN_SHADOW = YES;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNKNOWN_PRAGMAS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = YES;
+				GCC_WARN_UNUSED_VALUE = NO;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				MTL_ENABLE_DEBUG_INFO = YES;
@@ -537,6 +1126,7 @@
 				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
 				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
 			};
 			};
 			name = Debug;
 			name = Debug;
 		};
 		};
@@ -544,39 +1134,82 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_NOTICES = NO;
+				ASSETCATALOG_WARNINGS = NO;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_CXX_LIBRARY = "libc++";
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_ASSIGN_ENUM = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_CXX0X_EXTENSIONS = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_INFINITE_RECURSION = YES;
 				CLANG_WARN_INFINITE_RECURSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 				CLANG_WARN_SUSPICIOUS_MOVES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVES = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = NO;
 				COPY_PHASE_STRIP = NO;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_INCREMENTAL_DISTILL = NO;
+				ENABLE_NS_ASSERTIONS = YES;
+				ENABLE_ONLY_ACTIVE_RESOURCES = YES;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_NO_COMMON_BLOCKS = YES;
 				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
+				GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				"GCC_WARN_64_TO_32_BIT_CONVERSION[arch=*64]" = YES;
+				GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
+				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
+				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
+				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_MISSING_PARENTHESES = NO;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+				GCC_WARN_SHADOW = YES;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
 				GCC_WARN_UNDECLARED_SELECTOR = YES;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNKNOWN_PRAGMAS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = YES;
+				GCC_WARN_UNUSED_VALUE = NO;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				MTL_ENABLE_DEBUG_INFO = NO;
+				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
 				SDKROOT = iphoneos;
 				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
 				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
 				TARGETED_DEVICE_FAMILY = "1,2";
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -603,7 +1236,8 @@
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_OBJC_BRIDGING_HEADER = "app/app-Bridging-Header.h";
 				SWIFT_OBJC_BRIDGING_HEADER = "app/app-Bridging-Header.h";
 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
-				SWIFT_VERSION = 3.0;
+				SWIFT_SWIFT3_OBJC_INFERENCE = On;
+				SWIFT_VERSION = 4.0;
 			};
 			};
 			name = Debug;
 			name = Debug;
 		};
 		};
@@ -625,7 +1259,8 @@
 				PRODUCT_BUNDLE_IDENTIFIER = com.margolariak.iosapp;
 				PRODUCT_BUNDLE_IDENTIFIER = com.margolariak.iosapp;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_OBJC_BRIDGING_HEADER = "app/app-Bridging-Header.h";
 				SWIFT_OBJC_BRIDGING_HEADER = "app/app-Bridging-Header.h";
-				SWIFT_VERSION = 3.0;
+				SWIFT_SWIFT3_OBJC_INFERENCE = On;
+				SWIFT_VERSION = 4.0;
 			};
 			};
 			name = Release;
 			name = Release;
 		};
 		};

+ 6 - 1
app/ActivitiesView.swift

@@ -115,7 +115,12 @@ class ActivitiesView: UIView {
 					row = RowFutureActivity.init(s: "rowFutureActivity\(count)", i: count)
 					row = RowFutureActivity.init(s: "rowFutureActivity\(count)", i: count)
 					id = r.value(forKey: "id")! as! Int
 					id = r.value(forKey: "id")! as! Int
 					title = r.value(forKey: "title_\(lang!)")! as! String
 					title = r.value(forKey: "title_\(lang!)")! as! String
-					text = r.value(forKey: "text_\(lang!)")! as! String
+                    if ((r.value(forKey: "after_\(lang)") != nil) && ((r.value(forKey: "after_\(lang)")! as! String).length != 0)){
+                        text = r.value(forKey: "after_\(lang)")! as! String
+                    }
+                    else{
+                        text = r.value(forKey: "text_\(lang)")! as! String
+                    }
 					city = r.value(forKey: "city")! as! String
 					city = r.value(forKey: "city")! as! String
 					price = r.value(forKey: "price")! as! Int
 					price = r.value(forKey: "price")! as! Int
 					date = r.value(forKey: "date")! as! NSDate
 					date = r.value(forKey: "date")! as! NSDate

+ 1 - 1
app/AlbumViewController.swift

@@ -89,7 +89,7 @@ class AlbumViewController: UIViewController, UIGestureRecognizerDelegate {
 	/**
 	/**
 	Returns to the main view controller.
 	Returns to the main view controller.
 	*/
 	*/
-	func back() {
+	@objc func back() {
 		self.dismiss(animated: true, completion: nil)
 		self.dismiss(animated: true, completion: nil)
 	}
 	}
 	
 	

+ 27 - 26
app/Base.lproj/Main.storyboard

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="3o1-ab-AT4">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="3o1-ab-AT4">
     <device id="retina4_7" orientation="portrait">
     <device id="retina4_7" orientation="portrait">
         <adaptation id="fullscreen"/>
         <adaptation id="fullscreen"/>
     </device>
     </device>
     <dependencies>
     <dependencies>
         <deployment identifier="iOS"/>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
         <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
         <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
         <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
         <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
         <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
         <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
@@ -17,7 +17,7 @@
             <objects>
             <objects>
                 <navigationController title="Gasteizko Margolariak" id="cgF-cq-ysf" sceneMemberID="viewController">
                 <navigationController title="Gasteizko Margolariak" id="cgF-cq-ysf" sceneMemberID="viewController">
                     <navigationBar key="navigationBar" contentMode="scaleToFill" misplaced="YES" id="lgI-h9-O0s">
                     <navigationBar key="navigationBar" contentMode="scaleToFill" misplaced="YES" id="lgI-h9-O0s">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
+                        <rect key="frame" x="0.0" y="20" width="375" height="44"/>
                         <autoresizingMask key="autoresizingMask"/>
                         <autoresizingMask key="autoresizingMask"/>
                         <color key="backgroundColor" red="0.4079896717" green="1" blue="0.34807942549999998" alpha="1" colorSpace="calibratedRGB"/>
                         <color key="backgroundColor" red="0.4079896717" green="1" blue="0.34807942549999998" alpha="1" colorSpace="calibratedRGB"/>
                     </navigationBar>
                     </navigationBar>
@@ -331,14 +331,14 @@
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <subviews>
                                 <subviews>
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="029-px-JqL">
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="029-px-JqL">
-                                        <rect key="frame" x="0.0" y="0.0" width="56.5" height="30"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="57" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <state key="normal" title="&lt;">
                                         <state key="normal" title="&lt;">
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         </state>
                                         </state>
                                     </button>
                                     </button>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-D1-hCZ">
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-D1-hCZ">
-                                        <rect key="frame" x="56.5" y="0.0" width="262.5" height="30"/>
+                                        <rect key="frame" x="57" y="0.0" width="262.5" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <nil key="highlightedColor"/>
                                         <nil key="highlightedColor"/>
@@ -388,20 +388,20 @@
                                                                         </constraints>
                                                                         </constraints>
                                                                     </imageView>
                                                                     </imageView>
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2i2-HF-HyI" userLabel="Text">
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2i2-HF-HyI" userLabel="Text">
-                                                                        <rect key="frame" x="17" y="91" width="305.5" height="826"/>
+                                                                        <rect key="frame" x="17.5" y="91" width="305.5" height="826"/>
                                                                         <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                                         <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                                         <nil key="textColor"/>
                                                                         <nil key="textColor"/>
                                                                         <nil key="highlightedColor"/>
                                                                         <nil key="highlightedColor"/>
                                                                     </label>
                                                                     </label>
                                                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tAc-xa-mg2" userLabel="Separator">
                                                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tAc-xa-mg2" userLabel="Separator">
-                                                                        <rect key="frame" x="17" y="917" width="305.5" height="2"/>
+                                                                        <rect key="frame" x="17.5" y="917" width="305.5" height="2"/>
                                                                         <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
                                                                         <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
                                                                         <constraints>
                                                                         <constraints>
                                                                             <constraint firstAttribute="height" constant="2" id="TTW-wU-fHT"/>
                                                                             <constraint firstAttribute="height" constant="2" id="TTW-wU-fHT"/>
                                                                         </constraints>
                                                                         </constraints>
                                                                     </view>
                                                                     </view>
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="254" text="Date" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pX4-mq-dj0" userLabel="Date">
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="254" text="Date" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pX4-mq-dj0" userLabel="Date">
-                                                                        <rect key="frame" x="17" y="929" width="305.5" height="20"/>
+                                                                        <rect key="frame" x="17.5" y="929" width="305.5" height="20"/>
                                                                         <constraints>
                                                                         <constraints>
                                                                             <constraint firstAttribute="height" constant="20" id="Qos-eG-WmY"/>
                                                                             <constraint firstAttribute="height" constant="20" id="Qos-eG-WmY"/>
                                                                         </constraints>
                                                                         </constraints>
@@ -517,6 +517,7 @@
                     <connections>
                     <connections>
                         <outlet property="barButton" destination="029-px-JqL" id="48Y-ht-xLk"/>
                         <outlet property="barButton" destination="029-px-JqL" id="48Y-ht-xLk"/>
                         <outlet property="barTitle" destination="BIE-D1-hCZ" id="Fwf-72-Zfe"/>
                         <outlet property="barTitle" destination="BIE-D1-hCZ" id="Fwf-72-Zfe"/>
+                        <outlet property="postDate" destination="pX4-mq-dj0" id="23L-zW-QJ8"/>
                         <outlet property="postImage" destination="u3M-mi-Tyn" id="usY-gh-LBn"/>
                         <outlet property="postImage" destination="u3M-mi-Tyn" id="usY-gh-LBn"/>
                         <outlet property="postText" destination="2i2-HF-HyI" id="Mmz-c2-N6D"/>
                         <outlet property="postText" destination="2i2-HF-HyI" id="Mmz-c2-N6D"/>
                         <outlet property="postTitle" destination="tRk-Ti-VOu" id="7kU-Dg-MLX"/>
                         <outlet property="postTitle" destination="tRk-Ti-VOu" id="7kU-Dg-MLX"/>
@@ -542,14 +543,14 @@
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <subviews>
                                 <subviews>
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Thj-0t-rxK">
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Thj-0t-rxK">
-                                        <rect key="frame" x="0.0" y="0.0" width="56.5" height="30"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="57" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <state key="normal" title="&lt;">
                                         <state key="normal" title="&lt;">
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         </state>
                                         </state>
                                     </button>
                                     </button>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LLe-aQ-Sbj">
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LLe-aQ-Sbj">
-                                        <rect key="frame" x="56.5" y="0.0" width="262.5" height="30"/>
+                                        <rect key="frame" x="57" y="0.0" width="262.5" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <nil key="highlightedColor"/>
                                         <nil key="highlightedColor"/>
@@ -720,14 +721,14 @@
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <subviews>
                                 <subviews>
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cV9-gT-2OC">
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cV9-gT-2OC">
-                                        <rect key="frame" x="0.0" y="0.0" width="56.5" height="30"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="57" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <state key="normal" title="&lt;">
                                         <state key="normal" title="&lt;">
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         </state>
                                         </state>
                                     </button>
                                     </button>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RJE-Hu-oDM">
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RJE-Hu-oDM">
-                                        <rect key="frame" x="56.5" y="0.0" width="262.5" height="30"/>
+                                        <rect key="frame" x="57" y="0.0" width="262.5" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <nil key="highlightedColor"/>
                                         <nil key="highlightedColor"/>
@@ -992,7 +993,7 @@
                                 </constraints>
                                 </constraints>
                             </imageView>
                             </imageView>
                             <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sincronizando..." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="up0-1V-tTd">
                             <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sincronizando..." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="up0-1V-tTd">
-                                <rect key="frame" x="0.0" y="475" width="375" height="30"/>
+                                <rect key="frame" x="-0.5" y="475" width="375.5" height="30"/>
                                 <constraints>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="30" id="mIj-oN-tq7"/>
                                     <constraint firstAttribute="height" constant="30" id="mIj-oN-tq7"/>
                                 </constraints>
                                 </constraints>
@@ -1035,7 +1036,7 @@
                         <outlet property="lb" destination="pgU-dx-MvQ" id="ATL-SS-rxd"/>
                         <outlet property="lb" destination="pgU-dx-MvQ" id="ATL-SS-rxd"/>
                         <outlet property="lbTitle" destination="up0-1V-tTd" id="l37-DZ-jpR"/>
                         <outlet property="lbTitle" destination="up0-1V-tTd" id="l37-DZ-jpR"/>
                         <outlet property="pb" destination="VkR-DT-y3S" id="NMd-7R-Rlc"/>
                         <outlet property="pb" destination="VkR-DT-y3S" id="NMd-7R-Rlc"/>
-                        <segue destination="BYZ-38-t0r" kind="showDetail" identifier="SegueInit" action="showViewController:sender:" id="kSh-cP-och"/>
+                        <segue destination="BYZ-38-t0r" kind="showDetail" identifier="SegueInit" id="kSh-cP-och"/>
                     </connections>
                     </connections>
                 </viewController>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="fRm-1Y-Xmm" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="fRm-1Y-Xmm" userLabel="First Responder" sceneMemberID="firstResponder"/>
@@ -1057,14 +1058,14 @@
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <subviews>
                                 <subviews>
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Loj-Ff-gNj">
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Loj-Ff-gNj">
-                                        <rect key="frame" x="0.0" y="0.0" width="56.5" height="30"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="57" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <state key="normal" title="&lt;">
                                         <state key="normal" title="&lt;">
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         </state>
                                         </state>
                                     </button>
                                     </button>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xf1-tl-98b">
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xf1-tl-98b">
-                                        <rect key="frame" x="56.5" y="0.0" width="262.5" height="30"/>
+                                        <rect key="frame" x="57" y="0.0" width="262.5" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <nil key="highlightedColor"/>
                                         <nil key="highlightedColor"/>
@@ -1114,20 +1115,20 @@
                                                                         </constraints>
                                                                         </constraints>
                                                                     </imageView>
                                                                     </imageView>
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Usd-Rm-Tq2" userLabel="Text">
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Usd-Rm-Tq2" userLabel="Text">
-                                                                        <rect key="frame" x="17" y="91" width="305.5" height="826"/>
+                                                                        <rect key="frame" x="17.5" y="91" width="305.5" height="826"/>
                                                                         <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                                         <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                                         <nil key="textColor"/>
                                                                         <nil key="textColor"/>
                                                                         <nil key="highlightedColor"/>
                                                                         <nil key="highlightedColor"/>
                                                                     </label>
                                                                     </label>
                                                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LmH-0o-Hku" userLabel="Separator">
                                                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LmH-0o-Hku" userLabel="Separator">
-                                                                        <rect key="frame" x="17" y="917" width="305.5" height="2"/>
+                                                                        <rect key="frame" x="17.5" y="917" width="305.5" height="2"/>
                                                                         <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                                                         <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                                                         <constraints>
                                                                         <constraints>
                                                                             <constraint firstAttribute="height" constant="2" id="X7n-cL-6Hk"/>
                                                                             <constraint firstAttribute="height" constant="2" id="X7n-cL-6Hk"/>
                                                                         </constraints>
                                                                         </constraints>
                                                                     </view>
                                                                     </view>
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="254" text="Date" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dvg-B2-xmI" userLabel="Date">
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="254" text="Date" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dvg-B2-xmI" userLabel="Date">
-                                                                        <rect key="frame" x="17" y="929" width="305.5" height="20"/>
+                                                                        <rect key="frame" x="17.5" y="929" width="305.5" height="20"/>
                                                                         <constraints>
                                                                         <constraints>
                                                                             <constraint firstAttribute="height" constant="20" id="8LF-YM-5Cn"/>
                                                                             <constraint firstAttribute="height" constant="20" id="8LF-YM-5Cn"/>
                                                                         </constraints>
                                                                         </constraints>
@@ -1263,14 +1264,14 @@
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <subviews>
                                 <subviews>
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FiC-sd-IGL">
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FiC-sd-IGL">
-                                        <rect key="frame" x="0.0" y="0.0" width="56.5" height="30"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="57" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <state key="normal" title="&lt;">
                                         <state key="normal" title="&lt;">
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         </state>
                                         </state>
                                     </button>
                                     </button>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="v7W-BZ-qle">
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="v7W-BZ-qle">
-                                        <rect key="frame" x="56.5" y="0.0" width="262.5" height="30"/>
+                                        <rect key="frame" x="57" y="0.0" width="262.5" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <nil key="highlightedColor"/>
                                         <nil key="highlightedColor"/>
@@ -1329,7 +1330,7 @@
                                                                         </constraints>
                                                                         </constraints>
                                                                     </imageView>
                                                                     </imageView>
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="s4H-vW-9W1" userLabel="Text">
                                                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="s4H-vW-9W1" userLabel="Text">
-                                                                        <rect key="frame" x="17" y="121" width="305.5" height="39"/>
+                                                                        <rect key="frame" x="17.5" y="121" width="305.5" height="39"/>
                                                                         <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                                         <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                                         <nil key="textColor"/>
                                                                         <nil key="textColor"/>
                                                                         <nil key="highlightedColor"/>
                                                                         <nil key="highlightedColor"/>
@@ -1514,7 +1515,7 @@
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                         <subviews>
                         <subviews>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Pzh-mM-oRb">
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Pzh-mM-oRb">
-                                <rect key="frame" x="14.5" y="14.5" width="345" height="637"/>
+                                <rect key="frame" x="15" y="15" width="345" height="637"/>
                                 <subviews>
                                 <subviews>
                                     <textView clipsSubviews="YES" multipleTouchEnabled="YES" userInteractionEnabled="NO" contentMode="scaleToFill" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" editable="NO" text="Localizacion" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="TdI-Mq-pQ8" userLabel="Title">
                                     <textView clipsSubviews="YES" multipleTouchEnabled="YES" userInteractionEnabled="NO" contentMode="scaleToFill" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" editable="NO" text="Localizacion" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="TdI-Mq-pQ8" userLabel="Title">
                                         <rect key="frame" x="0.0" y="0.0" width="345" height="33"/>
                                         <rect key="frame" x="0.0" y="0.0" width="345" height="33"/>
@@ -1712,14 +1713,14 @@
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <rect key="frame" x="0.0" y="20" width="375" height="30"/>
                                 <subviews>
                                 <subviews>
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eUA-DI-pYf">
                                     <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eUA-DI-pYf">
-                                        <rect key="frame" x="0.0" y="0.0" width="56.5" height="30"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="57" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
                                         <state key="normal" title="&lt;">
                                         <state key="normal" title="&lt;">
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                             <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         </state>
                                         </state>
                                     </button>
                                     </button>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="die-Pc-rjK">
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Gasteizko Margolariak" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="die-Pc-rjK">
-                                        <rect key="frame" x="56.5" y="0.0" width="262.5" height="30"/>
+                                        <rect key="frame" x="57" y="0.0" width="262.5" height="30"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                         <nil key="highlightedColor"/>
                                         <nil key="highlightedColor"/>
@@ -1902,7 +1903,7 @@
         <image name="Pinpoint" width="10" height="13"/>
         <image name="Pinpoint" width="10" height="13"/>
     </resources>
     </resources>
     <inferredMetricsTieBreakers>
     <inferredMetricsTieBreakers>
-        <segue reference="bix-gF-Nro"/>
+        <segue reference="I7s-Ej-GB6"/>
         <segue reference="0Qp-db-Qb0"/>
         <segue reference="0Qp-db-Qb0"/>
     </inferredMetricsTieBreakers>
     </inferredMetricsTieBreakers>
 </document>
 </document>

+ 1 - 1
app/EventController.swift

@@ -149,7 +149,7 @@ class EventController: UIViewController, UIGestureRecognizerDelegate {
 	/**
 	/**
 	Dismisses the controller.
 	Dismisses the controller.
 	*/
 	*/
-	func back() {
+	@objc func back() {
 		self.dismiss(animated: true, completion: nil)
 		self.dismiss(animated: true, completion: nil)
 	}
 	}
 	
 	

+ 1 - 1
app/FutureActivityViewController.swift

@@ -67,7 +67,7 @@ class FutureActivityViewController: UIViewController, UIGestureRecognizerDelegat
 	/**
 	/**
 	Dismisses the controller.
 	Dismisses the controller.
 	*/
 	*/
-	func back() {
+	@objc func back() {
 		self.dismiss(animated: true, completion: nil)
 		self.dismiss(animated: true, completion: nil)
 	}
 	}
 	
 	

+ 1 - 1
app/GalleryView.swift

@@ -153,7 +153,7 @@ class GalleryView: UIView {
 	/**
 	/**
 	Opens an album.
 	Opens an album.
 	*/
 	*/
-	func openAlbum(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openAlbum(_ sender:UITapGestureRecognizer? = nil){
 		let id = (sender?.view as! RowGallery).id
 		let id = (sender?.view as! RowGallery).id
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showAlbum(id: id)
 		delegate.controller?.showAlbum(id: id)

+ 6 - 6
app/HomeView.swift

@@ -90,7 +90,7 @@ class HomeView: UIView {
 		//Get info to populate sections
 		//Get info to populate sections
 		self.moc = NSManagedObjectContext(concurrencyType: .privateQueueConcurrencyType)
 		self.moc = NSManagedObjectContext(concurrencyType: .privateQueueConcurrencyType)
 		
 		
-		self.delegate = UIApplication.shared.delegate as! AppDelegate
+        self.delegate = (UIApplication.shared.delegate as! AppDelegate)
 		self.moc?.persistentStoreCoordinator = self.delegate?.persistentStoreCoordinator
 		self.moc?.persistentStoreCoordinator = self.delegate?.persistentStoreCoordinator
 		self.lang = getLanguage()
 		self.lang = getLanguage()
 		
 		
@@ -141,7 +141,7 @@ class HomeView: UIView {
 	Sets up the location section.
 	Sets up the location section.
 	If no location is reported, it hiddes the section.
 	If no location is reported, it hiddes the section.
 	*/
 	*/
-	func setUpLocation(){
+	@objc func setUpLocation(){
 		let defaults = UserDefaults.standard
 		let defaults = UserDefaults.standard
 		if (defaults.value(forKey: "GMLocLat") != nil && defaults.value(forKey: "GMLocLon") != nil){
 		if (defaults.value(forKey: "GMLocLat") != nil && defaults.value(forKey: "GMLocLon") != nil){
 			let lat = defaults.value(forKey: "GMLocLat") as! Double
 			let lat = defaults.value(forKey: "GMLocLat") as! Double
@@ -561,7 +561,7 @@ class HomeView: UIView {
 	/**
 	/**
 	Opens a post.
 	Opens a post.
 	*/
 	*/
-	func openPost(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openPost(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPost(id: (sender?.view as! RowHomeBlog).id)
 		delegate.controller?.showPost(id: (sender?.view as! RowHomeBlog).id)
 	}
 	}
@@ -570,7 +570,7 @@ class HomeView: UIView {
 	/**
 	/**
 	Opens the La Blanca section when tapping the section.
 	Opens the La Blanca section when tapping the section.
 	*/
 	*/
-	func openLablanca(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openLablanca(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showComponent(selected: 2)
 		delegate.controller?.showComponent(selected: 2)
 	}
 	}
@@ -579,7 +579,7 @@ class HomeView: UIView {
 	/**
 	/**
 	Opens the Location section when tapping the section.
 	Opens the Location section when tapping the section.
 	*/
 	*/
-	func openLocation(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openLocation(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showComponent(selected: 1)
 		delegate.controller?.showComponent(selected: 1)
 	}
 	}
@@ -587,7 +587,7 @@ class HomeView: UIView {
 	/**
 	/**
 	Commands the view controller to show the Gasteizko Margolariak schedule view.
 	Commands the view controller to show the Gasteizko Margolariak schedule view.
 	*/
 	*/
-	func openGMSchedule(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openGMSchedule(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showSchedule(margolari: true)
 		delegate.controller?.showSchedule(margolari: true)
 	}
 	}

+ 2 - 2
app/LablancaView.swift

@@ -251,7 +251,7 @@ class LablancaView: UIView {
 	/**
 	/**
 	Commands the view controller to show the city schedule view.
 	Commands the view controller to show the city schedule view.
 	*/
 	*/
-	func openSchedule(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openSchedule(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showSchedule(margolari: false)
 		delegate.controller?.showSchedule(margolari: false)
 	}
 	}
@@ -260,7 +260,7 @@ class LablancaView: UIView {
 	/**
 	/**
 	Commands the view controller to show the Gasteizko Margolariak schedule view.
 	Commands the view controller to show the Gasteizko Margolariak schedule view.
 	*/
 	*/
-	func openGMSchedule(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openGMSchedule(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showSchedule(margolari: true)
 		delegate.controller?.showSchedule(margolari: true)
 	}
 	}

+ 1 - 1
app/LocationView.swift

@@ -90,7 +90,7 @@ class LocationView: UIView {
 	/**
 	/**
 	Get new user location and recalculates distance to GM .
 	Get new user location and recalculates distance to GM .
 	*/
 	*/
-	func getNewLocation(){
+	@objc func getNewLocation(){
 		let defaults = UserDefaults.standard
 		let defaults = UserDefaults.standard
 		if (defaults.value(forKey: "GMLocLat") != nil && defaults.value(forKey: "GMLocLon") != nil){
 		if (defaults.value(forKey: "GMLocLat") != nil && defaults.value(forKey: "GMLocLon") != nil){
 			let lat = defaults.value(forKey: "GMLocLat") as! Double
 			let lat = defaults.value(forKey: "GMLocLat") as! Double

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Activity+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Activity+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Activity: NSManagedObject {
+
+}

+ 41 - 0
app/NSManagedObjects/app/Base.lproj/Activity+CoreDataProperties.swift

@@ -0,0 +1,41 @@
+//
+//  Activity+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Activity {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Activity> {
+        return NSFetchRequest<Activity>(entityName: "Activity")
+    }
+
+    @NSManaged public var after_en: String?
+    @NSManaged public var after_es: String?
+    @NSManaged public var after_eu: String?
+    @NSManaged public var album: Int32
+    @NSManaged public var city: String?
+    @NSManaged public var comments: Int16
+    @NSManaged public var date: NSDate?
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var id: Int32
+    @NSManaged public var inscription: Int16
+    @NSManaged public var max_people: Int16
+    @NSManaged public var people: Int16
+    @NSManaged public var permalink: String?
+    @NSManaged public var price: Int16
+    @NSManaged public var text_en: String?
+    @NSManaged public var text_es: String?
+    @NSManaged public var text_eu: String?
+    @NSManaged public var title_en: String?
+    @NSManaged public var title_es: String?
+    @NSManaged public var title_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Activity_comment+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Activity_comment+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Activity_comment: NSManagedObject {
+
+}

+ 27 - 0
app/NSManagedObjects/app/Base.lproj/Activity_comment+CoreDataProperties.swift

@@ -0,0 +1,27 @@
+//
+//  Activity_comment+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Activity_comment {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Activity_comment> {
+        return NSFetchRequest<Activity_comment>(entityName: "Activity_comment")
+    }
+
+    @NSManaged public var activity: Int32
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var id: Int32
+    @NSManaged public var lang: String?
+    @NSManaged public var text: String?
+    @NSManaged public var username: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Activity_image+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Activity_image+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Activity_image: NSManagedObject {
+
+}

+ 25 - 0
app/NSManagedObjects/app/Base.lproj/Activity_image+CoreDataProperties.swift

@@ -0,0 +1,25 @@
+//
+//  Activity_image+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Activity_image {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Activity_image> {
+        return NSFetchRequest<Activity_image>(entityName: "Activity_image")
+    }
+
+    @NSManaged public var activity: Int32
+    @NSManaged public var id: Int32
+    @NSManaged public var idx: Int16
+    @NSManaged public var image: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Activity_itinerary+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Activity_itinerary+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Activity_itinerary: NSManagedObject {
+
+}

+ 33 - 0
app/NSManagedObjects/app/Base.lproj/Activity_itinerary+CoreDataProperties.swift

@@ -0,0 +1,33 @@
+//
+//  Activity_itinerary+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Activity_itinerary {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Activity_itinerary> {
+        return NSFetchRequest<Activity_itinerary>(entityName: "Activity_itinerary")
+    }
+
+    @NSManaged public var activity: Int32
+    @NSManaged public var description_en: String?
+    @NSManaged public var description_es: String?
+    @NSManaged public var description_eu: String?
+    @NSManaged public var end: NSDate?
+    @NSManaged public var id: Int32
+    @NSManaged public var name_en: String?
+    @NSManaged public var name_es: String?
+    @NSManaged public var name_eu: String?
+    @NSManaged public var place: Int32
+    @NSManaged public var route: Int32
+    @NSManaged public var start: NSDate?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Activity_tag+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Activity_tag+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Activity_tag: NSManagedObject {
+
+}

+ 23 - 0
app/NSManagedObjects/app/Base.lproj/Activity_tag+CoreDataProperties.swift

@@ -0,0 +1,23 @@
+//
+//  Activity_tag+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Activity_tag {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Activity_tag> {
+        return NSFetchRequest<Activity_tag>(entityName: "Activity_tag")
+    }
+
+    @NSManaged public var activity: Int32
+    @NSManaged public var tag: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Album+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Album+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Album: NSManagedObject {
+
+}

+ 31 - 0
app/NSManagedObjects/app/Base.lproj/Album+CoreDataProperties.swift

@@ -0,0 +1,31 @@
+//
+//  Album+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Album {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Album> {
+        return NSFetchRequest<Album>(entityName: "Album")
+    }
+
+    @NSManaged public var description_en: String?
+    @NSManaged public var description_es: String?
+    @NSManaged public var description_eu: String?
+    @NSManaged public var id: Int32
+    @NSManaged public var open: Int16
+    @NSManaged public var permalink: String?
+    @NSManaged public var time: NSDate?
+    @NSManaged public var title_en: String?
+    @NSManaged public var title_es: String?
+    @NSManaged public var title_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Festival+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Festival+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Festival: NSManagedObject {
+
+}

+ 30 - 0
app/NSManagedObjects/app/Base.lproj/Festival+CoreDataProperties.swift

@@ -0,0 +1,30 @@
+//
+//  Festival+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Festival {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Festival> {
+        return NSFetchRequest<Festival>(entityName: "Festival")
+    }
+
+    @NSManaged public var id: Int32
+    @NSManaged public var img: String?
+    @NSManaged public var summary_en: String?
+    @NSManaged public var summary_es: String?
+    @NSManaged public var summary_eu: String?
+    @NSManaged public var text_en: String?
+    @NSManaged public var text_es: String?
+    @NSManaged public var text_eu: String?
+    @NSManaged public var year: Int32
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Festival_day+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Festival_day+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Festival_day: NSManagedObject {
+
+}

+ 29 - 0
app/NSManagedObjects/app/Base.lproj/Festival_day+CoreDataProperties.swift

@@ -0,0 +1,29 @@
+//
+//  Festival_day+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Festival_day {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Festival_day> {
+        return NSFetchRequest<Festival_day>(entityName: "Festival_day")
+    }
+
+    @NSManaged public var date: NSDate?
+    @NSManaged public var id: Int32
+    @NSManaged public var max_people: Int16
+    @NSManaged public var name_en: String?
+    @NSManaged public var name_es: String?
+    @NSManaged public var name_eu: String?
+    @NSManaged public var people: Int16
+    @NSManaged public var price: Int32
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Festival_event+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Festival_event+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Festival_event: NSManagedObject {
+
+}

+ 35 - 0
app/NSManagedObjects/app/Base.lproj/Festival_event+CoreDataProperties.swift

@@ -0,0 +1,35 @@
+//
+//  Festival_event+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Festival_event {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Festival_event> {
+        return NSFetchRequest<Festival_event>(entityName: "Festival_event_city")
+    }
+
+    @NSManaged public var day: NSDate?
+    @NSManaged public var description_en: String?
+    @NSManaged public var description_es: String?
+    @NSManaged public var description_eu: String?
+    @NSManaged public var end: NSDate?
+    @NSManaged public var host: Int32
+    @NSManaged public var id: Int32
+    @NSManaged public var place: Int32
+    @NSManaged public var route: Int32
+    @NSManaged public var sponsor: Int32
+    @NSManaged public var start: NSDate?
+    @NSManaged public var title_en: String?
+    @NSManaged public var title_es: String?
+    @NSManaged public var title_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Festival_event_gm+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Festival_event_gm+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Festival_event_gm: NSManagedObject {
+
+}

+ 35 - 0
app/NSManagedObjects/app/Base.lproj/Festival_event_gm+CoreDataProperties.swift

@@ -0,0 +1,35 @@
+//
+//  Festival_event_gm+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Festival_event_gm {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Festival_event_gm> {
+        return NSFetchRequest<Festival_event_gm>(entityName: "Festival_event_gm")
+    }
+
+    @NSManaged public var day: NSDate?
+    @NSManaged public var description_en: String?
+    @NSManaged public var description_es: String?
+    @NSManaged public var description_eu: String?
+    @NSManaged public var end: NSDate?
+    @NSManaged public var host: Int32
+    @NSManaged public var id: Int32
+    @NSManaged public var place: Int32
+    @NSManaged public var route: Int32
+    @NSManaged public var sponsor: Int32
+    @NSManaged public var start: NSDate?
+    @NSManaged public var title_en: String?
+    @NSManaged public var title_es: String?
+    @NSManaged public var title_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Festival_event_image+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Festival_event_image+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Festival_event_image: NSManagedObject {
+
+}

+ 25 - 0
app/NSManagedObjects/app/Base.lproj/Festival_event_image+CoreDataProperties.swift

@@ -0,0 +1,25 @@
+//
+//  Festival_event_image+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Festival_event_image {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Festival_event_image> {
+        return NSFetchRequest<Festival_event_image>(entityName: "Festival_event_image")
+    }
+
+    @NSManaged public var event: Int32
+    @NSManaged public var id: Int32
+    @NSManaged public var idx: Int16
+    @NSManaged public var image: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Festival_offer+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Festival_offer+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Festival_offer: NSManagedObject {
+
+}

+ 31 - 0
app/NSManagedObjects/app/Base.lproj/Festival_offer+CoreDataProperties.swift

@@ -0,0 +1,31 @@
+//
+//  Festival_offer+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Festival_offer {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Festival_offer> {
+        return NSFetchRequest<Festival_offer>(entityName: "Festival_offer")
+    }
+
+    @NSManaged public var days: Int16
+    @NSManaged public var description_en: String?
+    @NSManaged public var description_es: String?
+    @NSManaged public var description_eu: String?
+    @NSManaged public var id: Int32
+    @NSManaged public var name_en: String?
+    @NSManaged public var name_es: String?
+    @NSManaged public var name_eu: String?
+    @NSManaged public var price: Int16
+    @NSManaged public var year: Int32
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Location+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Location+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Location: NSManagedObject {
+
+}

+ 24 - 0
app/NSManagedObjects/app/Base.lproj/Location+CoreDataProperties.swift

@@ -0,0 +1,24 @@
+//
+//  Location+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Location {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Location> {
+        return NSFetchRequest<Location>(entityName: "Location")
+    }
+
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var lat: Double
+    @NSManaged public var lon: Double
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Notification+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Notification+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Notification: NSManagedObject {
+
+}

+ 33 - 0
app/NSManagedObjects/app/Base.lproj/Notification+CoreDataProperties.swift

@@ -0,0 +1,33 @@
+//
+//  Notification+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Notification {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Notification> {
+        return NSFetchRequest<Notification>(entityName: "Notification")
+    }
+
+    @NSManaged public var action: String?
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var duration: Int32
+    @NSManaged public var gm: Int16
+    @NSManaged public var id: Int32
+    @NSManaged public var seen: Int16
+    @NSManaged public var text_en: String?
+    @NSManaged public var text_es: String?
+    @NSManaged public var text_eu: String?
+    @NSManaged public var title_en: String?
+    @NSManaged public var title_es: String?
+    @NSManaged public var title_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/People+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  People+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+@objc(People)
+public class People: NSManagedObject {
+
+}

+ 26 - 0
app/NSManagedObjects/app/Base.lproj/People+CoreDataProperties.swift

@@ -0,0 +1,26 @@
+//
+//  People+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension People {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<People> {
+        return NSFetchRequest<People>(entityName: "People")
+    }
+
+    @NSManaged public var id: Int32
+    @NSManaged public var link: String?
+    @NSManaged public var name_en: String?
+    @NSManaged public var name_es: String?
+    @NSManaged public var name_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Photo+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Photo+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Photo: NSManagedObject {
+
+}

+ 37 - 0
app/NSManagedObjects/app/Base.lproj/Photo+CoreDataProperties.swift

@@ -0,0 +1,37 @@
+//
+//  Photo+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Photo {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Photo> {
+        return NSFetchRequest<Photo>(entityName: "Photo")
+    }
+
+    @NSManaged public var description_en: String?
+    @NSManaged public var description_es: String?
+    @NSManaged public var description_eu: String?
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var file: String?
+    @NSManaged public var height: Int32
+    @NSManaged public var id: Int32
+    @NSManaged public var permalink: String?
+    @NSManaged public var place: Int32
+    @NSManaged public var size: Int64
+    @NSManaged public var title_en: String?
+    @NSManaged public var title_es: String?
+    @NSManaged public var title_eu: String?
+    @NSManaged public var uploaded: NSDate?
+    @NSManaged public var username: String?
+    @NSManaged public var width: Int32
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Photo_album+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Photo_album+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Photo_album: NSManagedObject {
+
+}

+ 23 - 0
app/NSManagedObjects/app/Base.lproj/Photo_album+CoreDataProperties.swift

@@ -0,0 +1,23 @@
+//
+//  Photo_album+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Photo_album {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Photo_album> {
+        return NSFetchRequest<Photo_album>(entityName: "Photo_album")
+    }
+
+    @NSManaged public var album: Int32
+    @NSManaged public var photo: Int32
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Photo_comment+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Photo_comment+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+@objc(Photo_comment)
+public class Photo_comment: NSManagedObject {
+
+}

+ 27 - 0
app/NSManagedObjects/app/Base.lproj/Photo_comment+CoreDataProperties.swift

@@ -0,0 +1,27 @@
+//
+//  Photo_comment+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Photo_comment {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Photo_comment> {
+        return NSFetchRequest<Photo_comment>(entityName: "Photo_comment")
+    }
+
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var id: Int32
+    @NSManaged public var lang: String?
+    @NSManaged public var photo: Int32
+    @NSManaged public var text: String?
+    @NSManaged public var username: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Place+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Place+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Place: NSManagedObject {
+
+}

+ 31 - 0
app/NSManagedObjects/app/Base.lproj/Place+CoreDataProperties.swift

@@ -0,0 +1,31 @@
+//
+//  Place+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Place {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Place> {
+        return NSFetchRequest<Place>(entityName: "Place")
+    }
+
+    @NSManaged public var address_en: String?
+    @NSManaged public var address_es: String?
+    @NSManaged public var address_eu: String?
+    @NSManaged public var cp: String?
+    @NSManaged public var id: Int32
+    @NSManaged public var lat: Double
+    @NSManaged public var lon: Double
+    @NSManaged public var name_en: String?
+    @NSManaged public var name_es: String?
+    @NSManaged public var name_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Post+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Post+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Post: NSManagedObject {
+
+}

+ 32 - 0
app/NSManagedObjects/app/Base.lproj/Post+CoreDataProperties.swift

@@ -0,0 +1,32 @@
+//
+//  Post+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Post {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Post> {
+        return NSFetchRequest<Post>(entityName: "Post")
+    }
+
+    @NSManaged public var comments: Int16
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var id: Int32
+    @NSManaged public var permalink: String?
+    @NSManaged public var text_en: String?
+    @NSManaged public var text_es: String?
+    @NSManaged public var text_eu: String?
+    @NSManaged public var title_en: String?
+    @NSManaged public var title_es: String?
+    @NSManaged public var title_eu: String?
+    @NSManaged public var username: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Post_comment+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Post_comment+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Post_comment: NSManagedObject {
+
+}

+ 27 - 0
app/NSManagedObjects/app/Base.lproj/Post_comment+CoreDataProperties.swift

@@ -0,0 +1,27 @@
+//
+//  Post_comment+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Post_comment {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Post_comment> {
+        return NSFetchRequest<Post_comment>(entityName: "Post_comment")
+    }
+
+    @NSManaged public var dtime: NSDate?
+    @NSManaged public var id: Int32
+    @NSManaged public var lang: String?
+    @NSManaged public var post: Int32
+    @NSManaged public var text: String?
+    @NSManaged public var username: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Post_image+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Post_image+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Post_image: NSManagedObject {
+
+}

+ 25 - 0
app/NSManagedObjects/app/Base.lproj/Post_image+CoreDataProperties.swift

@@ -0,0 +1,25 @@
+//
+//  Post_image+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Post_image {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Post_image> {
+        return NSFetchRequest<Post_image>(entityName: "Post_image")
+    }
+
+    @NSManaged public var id: Int32
+    @NSManaged public var idx: Int16
+    @NSManaged public var image: String?
+    @NSManaged public var post: Int32
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Post_tag+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Post_tag+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Post_tag: NSManagedObject {
+
+}

+ 23 - 0
app/NSManagedObjects/app/Base.lproj/Post_tag+CoreDataProperties.swift

@@ -0,0 +1,23 @@
+//
+//  Post_tag+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Post_tag {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Post_tag> {
+        return NSFetchRequest<Post_tag>(entityName: "Post_tag")
+    }
+
+    @NSManaged public var post: Int32
+    @NSManaged public var tag: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Route+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Route+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+@objc(Route)
+public class Route: NSManagedObject {
+
+}

+ 24 - 0
app/NSManagedObjects/app/Base.lproj/Route+CoreDataProperties.swift

@@ -0,0 +1,24 @@
+//
+//  Route+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Route {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Route> {
+        return NSFetchRequest<Route>(entityName: "Route")
+    }
+
+    @NSManaged public var id: Int32
+    @NSManaged public var mins: Int32
+    @NSManaged public var name: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Route_point+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Route_point+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+@objc(Route_point)
+public class Route_point: NSManagedObject {
+
+}

+ 30 - 0
app/NSManagedObjects/app/Base.lproj/Route_point+CoreDataProperties.swift

@@ -0,0 +1,30 @@
+//
+//  Route_point+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Route_point {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Route_point> {
+        return NSFetchRequest<Route_point>(entityName: "Route_point")
+    }
+
+    @NSManaged public var id: Int32
+    @NSManaged public var lat_d: Double
+    @NSManaged public var lat_o: Double
+    @NSManaged public var lon_d: Double
+    @NSManaged public var lon_o: Double
+    @NSManaged public var part: Int16
+    @NSManaged public var place_d: Int32
+    @NSManaged public var place_o: Int32
+    @NSManaged public var route: Int32
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Sponsor+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Sponsor+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Sponsor: NSManagedObject {
+
+}

+ 36 - 0
app/NSManagedObjects/app/Base.lproj/Sponsor+CoreDataProperties.swift

@@ -0,0 +1,36 @@
+//
+//  Sponsor+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Sponsor {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Sponsor> {
+        return NSFetchRequest<Sponsor>(entityName: "Sponsor")
+    }
+
+    @NSManaged public var address_en: String?
+    @NSManaged public var address_es: String?
+    @NSManaged public var address_eu: String?
+    @NSManaged public var id: Int32
+    @NSManaged public var image: String?
+    @NSManaged public var lat: Double
+    @NSManaged public var link: String?
+    @NSManaged public var local: Bool
+    @NSManaged public var lon: Double
+    @NSManaged public var name_en: String?
+    @NSManaged public var name_es: String?
+    @NSManaged public var name_eu: String?
+    @NSManaged public var text_en: String?
+    @NSManaged public var text_es: String?
+    @NSManaged public var text_eu: String?
+
+}

+ 16 - 0
app/NSManagedObjects/app/Base.lproj/Version+CoreDataClass.swift

@@ -0,0 +1,16 @@
+//
+//  Version+CoreDataClass.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+public class Version: NSManagedObject {
+
+}

+ 23 - 0
app/NSManagedObjects/app/Base.lproj/Version+CoreDataProperties.swift

@@ -0,0 +1,23 @@
+//
+//  Version+CoreDataProperties.swift
+//  app
+//
+//  Created by Iñigo Valentin on 21/6/18.
+//  Copyright © 2018 Margolariak. All rights reserved.
+//
+//
+
+import Foundation
+import CoreData
+
+
+extension Version {
+
+    @nonobjc public class func fetchRequest() -> NSFetchRequest<Version> {
+        return NSFetchRequest<Version>(entityName: "Version")
+    }
+
+    @NSManaged public var section: String?
+    @NSManaged public var version: Int64
+
+}

+ 2 - 2
app/PastActivityViewController.swift

@@ -65,7 +65,7 @@ class PastActivityViewController: UIViewController, UIGestureRecognizerDelegate
 	/**
 	/**
 	Dismisses the controller.
 	Dismisses the controller.
 	*/
 	*/
-	func back() {
+	@objc func back() {
 		self.dismiss(animated: true, completion: nil)
 		self.dismiss(animated: true, completion: nil)
 	}
 	}
 	
 	
@@ -102,7 +102,7 @@ class PastActivityViewController: UIViewController, UIGestureRecognizerDelegate
 			for r in searchResults as [NSManagedObject] {
 			for r in searchResults as [NSManagedObject] {
 				count = count + 1
 				count = count + 1
 				sTitle = r.value(forKey: "title_\(lang)")! as! String
 				sTitle = r.value(forKey: "title_\(lang)")! as! String
-				if (r.value(forKey: "after_\(lang)")! as! String).length != 0{
+				if ((r.value(forKey: "after_\(lang)") != nil) && ((r.value(forKey: "after_\(lang)")! as! String).length != 0)){
 					sText = r.value(forKey: "after_\(lang)")! as! String
 					sText = r.value(forKey: "after_\(lang)")! as! String
 				}
 				}
 				else{
 				else{

+ 9 - 6
app/PhotoViewController.swift

@@ -87,14 +87,17 @@ class PhotoViewController: UIViewController, UIGestureRecognizerDelegate {
 			albumFetchRequest.predicate = NSPredicate(format: "id = %i", albumId)
 			albumFetchRequest.predicate = NSPredicate(format: "id = %i", albumId)
 			do {
 			do {
 				let results = try context.fetch(albumFetchRequest)
 				let results = try context.fetch(albumFetchRequest)
-				let r = results[0]
-				self.albumTitle = r.value(forKey: "title_\(lang)")! as! String
+                if (results.count > 0){
+                    let r = results[0]
+                    self.albumTitle = r.value(forKey: "title_\(lang)")! as! String
+                }
 			}
 			}
 			catch {
 			catch {
 				NSLog(":PHOTO:ERROR: Error getting album info: \(error)")
 				NSLog(":PHOTO:ERROR: Error getting album info: \(error)")
 			}
 			}
 			
 			
-		} catch {
+		}
+        catch {
 			NSLog(":PHOTO:ERROR: Error getting infor from album \(albumId): \(error)")
 			NSLog(":PHOTO:ERROR: Error getting infor from album \(albumId): \(error)")
 		}
 		}
 		
 		
@@ -117,7 +120,7 @@ class PhotoViewController: UIViewController, UIGestureRecognizerDelegate {
 	/**
 	/**
 	Dismisses the controller.
 	Dismisses the controller.
 	*/
 	*/
-	func back() {
+	@objc func back() {
 		self.dismiss(animated: true, completion: nil)
 		self.dismiss(animated: true, completion: nil)
 	}
 	}
 	
 	
@@ -133,7 +136,7 @@ class PhotoViewController: UIViewController, UIGestureRecognizerDelegate {
 	/**
 	/**
 	Opens the next photo.
 	Opens the next photo.
 	*/
 	*/
-	func nextPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func nextPhoto(_ sender:UITapGestureRecognizer? = nil){
 		photoIdx = photoIdx + 1
 		photoIdx = photoIdx + 1
 		loadPhoto(id: photoIds[photoIdx])
 		loadPhoto(id: photoIds[photoIdx])
 	}
 	}
@@ -142,7 +145,7 @@ class PhotoViewController: UIViewController, UIGestureRecognizerDelegate {
 	/**
 	/**
 	Opens the previous photo.
 	Opens the previous photo.
 	*/
 	*/
-	func prevPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func prevPhoto(_ sender:UITapGestureRecognizer? = nil){
 		photoIdx = photoIdx - 1
 		photoIdx = photoIdx - 1
 		loadPhoto(id: photoIds[photoIdx])
 		loadPhoto(id: photoIds[photoIdx])
 	}
 	}

+ 57 - 2
app/PostViewController.swift

@@ -33,7 +33,8 @@ class PostViewController: UIViewController, UIGestureRecognizerDelegate {
 	@IBOutlet weak var postText: UILabel!
 	@IBOutlet weak var postText: UILabel!
 	@IBOutlet weak var postTitle: UILabel!
 	@IBOutlet weak var postTitle: UILabel!
 	@IBOutlet weak var postImage: UIImageView!
 	@IBOutlet weak var postImage: UIImageView!
-	
+    @IBOutlet weak var postDate: UILabel!
+    
 	var id: Int = -1
 	var id: Int = -1
 	var passId: Int = -1
 	var passId: Int = -1
 	var delegate: AppDelegate?
 	var delegate: AppDelegate?
@@ -64,7 +65,7 @@ class PostViewController: UIViewController, UIGestureRecognizerDelegate {
 	/**
 	/**
 	Dismisses the controller, efectively going to the previous section.
 	Dismisses the controller, efectively going to the previous section.
 	*/
 	*/
-	func back() {
+	@objc func back() {
 		self.dismiss(animated: true, completion: nil)
 		self.dismiss(animated: true, completion: nil)
 	}
 	}
 	
 	
@@ -96,6 +97,7 @@ class PostViewController: UIViewController, UIGestureRecognizerDelegate {
 			var sTitle: String
 			var sTitle: String
 			var sText: String
 			var sText: String
 			var image: String
 			var image: String
+            var date: NSDate
 			
 			
 			for r in searchResults as [NSManagedObject] {
 			for r in searchResults as [NSManagedObject] {
 				
 				
@@ -103,6 +105,8 @@ class PostViewController: UIViewController, UIGestureRecognizerDelegate {
 				sText = r.value(forKey: "text_\(lang)")! as! String
 				sText = r.value(forKey: "text_\(lang)")! as! String
 				postTitle.text = "  \(sTitle.decode().stripHtml())"
 				postTitle.text = "  \(sTitle.decode().stripHtml())"
 				postText.text = sText.decode().stripHtml()
 				postText.text = sText.decode().stripHtml()
+                date = r.value(forKey: "dtime")! as! NSDate
+                postDate.text = formatDate(date: date, lang: lang)
 				
 				
 				// Get main image
 				// Get main image
 				image = ""
 				image = ""
@@ -136,6 +140,57 @@ class PostViewController: UIViewController, UIGestureRecognizerDelegate {
 		}
 		}
 	}
 	}
 	
 	
+    
+    /**
+     Formats a date to the desired language.
+     :param: text The date.
+     :param: lang Device language (only 'es', 'en', or 'eu').
+     */
+    func formatDate(date: NSDate, lang: String) -> String{
+        
+        let months_es = ["0index", "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"]
+        let months_en = ["0index", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
+        let months_eu = ["0index", "urtarrilaren", "otsailaren", "martxoaren", "abrilaren", "maiatzaren", "ekainaren", "ustailaren", "abustuaren", "irailaren", "urriaren", "azaroaren", "abenduaren"]
+        let days_es = ["0index", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sábado", "Domingo"]
+        let days_en = ["0index", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
+        let days_eu = ["0index", "Astelehena", "Asteartea", "Asteazkena", "Osteguna", "Ostirala", "Larumbata", "Igandea"]
+        
+        let calendar = Calendar.current
+        let day = calendar.component(.day, from: date as Date)
+        let month = calendar.component(.month, from: date as Date)
+        let weekday = calendar.component(.weekday, from: date as Date)
+        var strDate = ""
+        
+        switch lang{
+        case "en":
+            
+            var dayNum = ""
+            switch day{
+            case 1:
+                dayNum = "1th"
+                break
+            case 2:
+                dayNum = "2nd"
+                break;
+            case 3:
+                dayNum = "3rd"
+                break;
+            default:
+                dayNum = "\(weekday)th"
+            }
+            
+            strDate = "\(days_en[weekday]), \(months_en[month]) \(dayNum)"
+            break
+        case "eu":
+            strDate = "\(days_eu[weekday]) \(months_eu[month]) \(day)an"
+            break
+        default:
+            strDate = "\(days_es[weekday]) \(day) de \(months_es[month])"
+        }
+        
+        return strDate
+    }
+    
 	
 	
 	/**
 	/**
 	Gets the device language. The only recognized languages are Spanish, English and Basque.
 	Gets the device language. The only recognized languages are Spanish, English and Basque.

+ 2 - 2
app/RowAlbum.swift

@@ -101,7 +101,7 @@ Extension of UIView to be formatted as a row of an album.
 	/**
 	/**
 	Opens the photo in the left side in a new controller.
 	Opens the photo in the left side in a new controller.
 	*/
 	*/
-	func openLeftPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openLeftPhoto(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.albumController?.showPhoto(album: self.id, photo: self.photoIds[0])
 		delegate.albumController?.showPhoto(album: self.id, photo: self.photoIds[0])
 	}
 	}
@@ -110,7 +110,7 @@ Extension of UIView to be formatted as a row of an album.
 	/**
 	/**
 	Opens the photo in the right side in a new controller.
 	Opens the photo in the right side in a new controller.
 	*/
 	*/
-	func openRightPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openRightPhoto(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.albumController?.showPhoto(album: self.id, photo: self.photoIds[1])
 		delegate.albumController?.showPhoto(album: self.id, photo: self.photoIds[1])
 	}
 	}

+ 1 - 1
app/RowBlog.swift

@@ -128,7 +128,7 @@ Extension of UIView to be formatted as post rows.
 	/**
 	/**
 	Opens an activity.
 	Opens an activity.
 	*/
 	*/
-	func openPost(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openPost(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPost(id: self.id)
 		delegate.controller?.showPost(id: self.id)
 	}
 	}

+ 1 - 1
app/RowGallery.swift

@@ -101,7 +101,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Opens an album in other controller.
 	Opens an album in other controller.
 	*/
 	*/
-	func openAlbum(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openAlbum(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showAlbum(id: self.id)
 		delegate.controller?.showAlbum(id: self.id)
 	}
 	}

+ 1 - 1
app/RowHomeBlog.swift

@@ -128,7 +128,7 @@ Extension of UIView to be formatted as a row on the blog section of the home vie
 	/**
 	/**
 	Opens a post in a controller.
 	Opens a post in a controller.
 	*/
 	*/
-	func openPost(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openPost(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPost(id: self.id)
 		delegate.controller?.showPost(id: self.id)
 	}
 	}

+ 1 - 1
app/RowHomeFutureActivities.swift

@@ -128,7 +128,7 @@ Extension of UIView to be formatted as a future activity in the home screen.
 	/**
 	/**
 	Opens an activity in a controller.
 	Opens an activity in a controller.
 	*/
 	*/
-	func openActivity(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openActivity(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showFutureActivity(id: self.id)
 		delegate.controller?.showFutureActivity(id: self.id)
 	}
 	}

+ 4 - 4
app/RowHomeGallery.swift

@@ -82,7 +82,7 @@ Extension of UIView to be formatted as a the gallery section in the home view.
 	/**
 	/**
 	Open the first photo in the photo viewer.
 	Open the first photo in the photo viewer.
 	*/
 	*/
-	func openFirstPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openFirstPhoto(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPhoto(album: self.albumIds[0], photo: self.photoIds[0])
 		delegate.controller?.showPhoto(album: self.albumIds[0], photo: self.photoIds[0])
 	}
 	}
@@ -91,7 +91,7 @@ Extension of UIView to be formatted as a the gallery section in the home view.
 	/**
 	/**
 	Open the second photo in the photo viewer.
 	Open the second photo in the photo viewer.
 	*/
 	*/
-	func openSecondPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openSecondPhoto(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPhoto(album: self.albumIds[1], photo: self.photoIds[1])
 		delegate.controller?.showPhoto(album: self.albumIds[1], photo: self.photoIds[1])
 	}
 	}
@@ -100,7 +100,7 @@ Extension of UIView to be formatted as a the gallery section in the home view.
 	/**
 	/**
 	Open the third photo in the photo viewer.
 	Open the third photo in the photo viewer.
 	*/
 	*/
-	func openThirdPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openThirdPhoto(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPhoto(album: self.albumIds[2], photo: self.photoIds[2])
 		delegate.controller?.showPhoto(album: self.albumIds[2], photo: self.photoIds[2])
 	}
 	}
@@ -109,7 +109,7 @@ Extension of UIView to be formatted as a the gallery section in the home view.
 	/**
 	/**
 	Open the fourth photo in the photo viewer.
 	Open the fourth photo in the photo viewer.
 	*/
 	*/
-	func openFourthPhoto(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openFourthPhoto(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPhoto(album: self.albumIds[3], photo: self.photoIds[3])
 		delegate.controller?.showPhoto(album: self.albumIds[3], photo: self.photoIds[3])
 	}
 	}

+ 1 - 1
app/RowHomePastActivities.swift

@@ -125,7 +125,7 @@ Extension of UIView to be formatted as past activity rows.
 	/**
 	/**
 	Opens an activity.
 	Opens an activity.
 	*/
 	*/
-	func openActivity(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openActivity(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPastActivity(id: self.id)
 		delegate.controller?.showPastActivity(id: self.id)
 	}
 	}

+ 7 - 7
app/RowHomeSocial.swift

@@ -111,7 +111,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Called when the phone button is tapped.
 	Called when the phone button is tapped.
 	*/
 	*/
-	func didTapPhone() {
+	@objc func didTapPhone() {
 		UIApplication.shared.openURL(NSURL(string: "tel://+34637140371")! as URL)
 		UIApplication.shared.openURL(NSURL(string: "tel://+34637140371")! as URL)
 	}
 	}
 	
 	
@@ -119,7 +119,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Called when the mail button is tapped.
 	Called when the mail button is tapped.
 	*/
 	*/
-	func didTapMail() {
+	@objc func didTapMail() {
 		UIApplication.shared.openURL(NSURL(string: "mailto:gasteizkomargolariak@gmail.com")! as URL)
 		UIApplication.shared.openURL(NSURL(string: "mailto:gasteizkomargolariak@gmail.com")! as URL)
 	}
 	}
 	
 	
@@ -127,7 +127,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Called when the Facebook button is tapped.
 	Called when the Facebook button is tapped.
 	*/
 	*/
-	func didTapFacebook() {
+	@objc func didTapFacebook() {
 		UIApplication.shared.openURL(NSURL(string: "http://facebook.com/gmargolariak")! as URL)
 		UIApplication.shared.openURL(NSURL(string: "http://facebook.com/gmargolariak")! as URL)
 	}
 	}
 	
 	
@@ -135,7 +135,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Called when the Twitter button is tapped.
 	Called when the Twitter button is tapped.
 	*/
 	*/
-	func didTapTwitter() {
+	@objc func didTapTwitter() {
 		UIApplication.shared.openURL(NSURL(string: "http://twitter.com/gmargolariak")! as URL)
 		UIApplication.shared.openURL(NSURL(string: "http://twitter.com/gmargolariak")! as URL)
 	}
 	}
 	
 	
@@ -143,7 +143,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Called when the G+ button is tapped.
 	Called when the G+ button is tapped.
 	*/
 	*/
-	func didTapGoogle() {
+	@objc func didTapGoogle() {
 		UIApplication.shared.openURL(NSURL(string: "https://plus.google.com/106661466029005469492")! as URL)
 		UIApplication.shared.openURL(NSURL(string: "https://plus.google.com/106661466029005469492")! as URL)
 	}
 	}
 	
 	
@@ -151,7 +151,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Called when the Youtube button is tapped.
 	Called when the Youtube button is tapped.
 	*/
 	*/
-	func didTapYoutube() {
+	@objc func didTapYoutube() {
 		UIApplication.shared.openURL(NSURL(string: "https://www.youtube.com/user/GasteizkoMargolariak")! as URL)
 		UIApplication.shared.openURL(NSURL(string: "https://www.youtube.com/user/GasteizkoMargolariak")! as URL)
 	}
 	}
 	
 	
@@ -159,7 +159,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Called when the Instagram button is tapped.
 	Called when the Instagram button is tapped.
 	*/
 	*/
-	func didTapInstagram() {
+	@objc func didTapInstagram() {
 		UIApplication.shared.openURL(NSURL(string: "https://instagram.com/gmargolariak/")! as URL)
 		UIApplication.shared.openURL(NSURL(string: "https://instagram.com/gmargolariak/")! as URL)
 	}
 	}
 	
 	

+ 3 - 3
app/RowItinerary.swift

@@ -49,8 +49,8 @@ Extension of UIView to be formatted an activity itinerary.
 	Loads the view from the xib with the same name as the class.
 	Loads the view from the xib with the same name as the class.
 	*/
 	*/
 	private func loadViewFromNib() {
 	private func loadViewFromNib() {
-		let bundle = Bundle(for: type(of: self))
-		let nib = UINib(nibName: String(describing: type(of: self)), bundle: bundle)
+		let bundle = Bundle(for: Swift.type(of: self))
+		let nib = UINib(nibName: String(describing: Swift.type(of: self)), bundle: bundle)
 		nib.instantiate(withOwner: self, options: nil)
 		nib.instantiate(withOwner: self, options: nil)
 	}
 	}
 	
 	
@@ -167,7 +167,7 @@ Extension of UIView to be formatted an activity itinerary.
 	/**
 	/**
 	Opens an event dialog.
 	Opens an event dialog.
 	*/
 	*/
-	func openItinerary(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openItinerary(_ sender:UITapGestureRecognizer? = nil){
 		// TODO implement openItinerary.
 		// TODO implement openItinerary.
 		NSLog(":ROWITINERARY:DEBUG: Open Itinerary")
 		NSLog(":ROWITINERARY:DEBUG: Open Itinerary")
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate

+ 1 - 1
app/RowPastActivity.swift

@@ -123,7 +123,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Opens an activity.
 	Opens an activity.
 	*/
 	*/
-	func openActivity(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openActivity(_ sender:UITapGestureRecognizer? = nil){
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.controller?.showPastActivity(id: self.id)
 		delegate.controller?.showPastActivity(id: self.id)
 	}
 	}

+ 1 - 1
app/RowSchedule.swift

@@ -164,7 +164,7 @@ Extension of UIView to be formatted as sections.
 	/**
 	/**
 	Opens an schedule dialog.
 	Opens an schedule dialog.
 	*/
 	*/
-	func openSchedule(_ sender:UITapGestureRecognizer? = nil){
+	@objc func openSchedule(_ sender:UITapGestureRecognizer? = nil){
 		NSLog(":ROWSCHEDULE:DEBUG: Open schedule")
 		NSLog(":ROWSCHEDULE:DEBUG: Open schedule")
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		let delegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
 		delegate.scheduleController?.showEvent(id: self.id)
 		delegate.scheduleController?.showEvent(id: self.id)

+ 3 - 3
app/ScheduleViewController.swift

@@ -87,7 +87,7 @@ class ScheduleViewController: UIViewController, UIGestureRecognizerDelegate {
 	/**
 	/**
 	Returns to the main view controller.
 	Returns to the main view controller.
 	*/
 	*/
-	func back() {
+	@objc func back() {
 		self.dismiss(animated: true, completion: nil)
 		self.dismiss(animated: true, completion: nil)
 	}
 	}
 	
 	
@@ -313,7 +313,7 @@ class ScheduleViewController: UIViewController, UIGestureRecognizerDelegate {
 	Shows the schedule of the next day
 	Shows the schedule of the next day
 	:param: sender Event trigger.
 	:param: sender Event trigger.
 	*/
 	*/
-	func nextDay(_ sender:UITapGestureRecognizer? = nil){
+	@objc func nextDay(_ sender:UITapGestureRecognizer? = nil){
 		changeDay(increment: 1)
 		changeDay(increment: 1)
 	}
 	}
 
 
@@ -322,7 +322,7 @@ class ScheduleViewController: UIViewController, UIGestureRecognizerDelegate {
 	Shows the schedule of the previous day.
 	Shows the schedule of the previous day.
 	:param: sender Event trigger.
 	:param: sender Event trigger.
 	*/
 	*/
-	func prevDay(_ sender:UITapGestureRecognizer? = nil){
+	@objc func prevDay(_ sender:UITapGestureRecognizer? = nil){
 		changeDay(increment: -1)
 		changeDay(increment: -1)
 	}
 	}
 
 

+ 2 - 2
app/String.swift

@@ -95,7 +95,7 @@ extension String {
 		let ed = self.index(self.startIndex, offsetBy: end)
 		let ed = self.index(self.startIndex, offsetBy: end)
 		
 		
 		let range = st...ed
 		let range = st...ed
-		return self[range]
+		return String(self[range])
 	}
 	}
 	
 	
 	
 	
@@ -106,7 +106,7 @@ extension String {
 	func stripHtml() -> String {
 	func stripHtml() -> String {
 		let d = data(using: String.Encoding.utf8)
 		let d = data(using: String.Encoding.utf8)
 		do{
 		do{
-			return try NSAttributedString(data: d!, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue], documentAttributes: nil).string
+			return try NSAttributedString(data: d!, options: [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html, NSAttributedString.DocumentReadingOptionKey.characterEncoding: String.Encoding.utf8.rawValue], documentAttributes: nil).string
 		} catch let error as NSError {
 		} catch let error as NSError {
 			print(error.localizedDescription)
 			print(error.localizedDescription)
 			return self
 			return self

+ 7 - 7
app/Sync.swift

@@ -89,12 +89,12 @@ class Sync{
 		
 		
 		var urlStr: String = ""
 		var urlStr: String = ""
 		
 		
-		if initial{
-			urlStr = "http://192.168.1.101/API/v3/fastsync.php?client=com.margolariak.app&user=\(uId)\(strVersions)"
-		}
-		else{
-			urlStr = "http://192.168.1.101/API/v3/sync.php?client=com.margolariak.app&user=\(uId)\(strVersions)"
-		}
+		//if initial{
+		//	urlStr = "https://margolariak.com/API/v3/fastsync.php?client=com.margolariak.app&user=\(uId)\(strVersions)"
+		//}
+		//else{
+			urlStr = "https://margolariak.com/API/v3/sync.php?client=com.margolariak.app&user=\(uId)\(strVersions)"
+		//}
 		let url = URL(string: urlStr)
 		let url = URL(string: urlStr)
 
 
 		
 		
@@ -252,7 +252,7 @@ class Sync{
 						
 						
 						dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
 						dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
 						dateFormatter.calendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.ISO8601)! as Calendar
 						dateFormatter.calendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.ISO8601)! as Calendar
-						dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
+                        dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale?
 						dateFormatter.timeZone = NSTimeZone.local
 						dateFormatter.timeZone = NSTimeZone.local
 						let timeString = value//"\(value.subStr(start: 0, end: 19))"
 						let timeString = value//"\(value.subStr(start: 0, end: 19))"
 						let dayString = "\(value.subStr(start: 0, end: 10)) 00:00:00"
 						let dayString = "\(value.subStr(start: 0, end: 10)) 00:00:00"

+ 2 - 2
app/SyncController.swift

@@ -79,7 +79,7 @@ class SyncController: UIViewController{
 		}
 		}
 	}
 	}
 	
 	
-	func endSync(){
+	@objc func endSync(){
 		if self.nowSyncing == false{
 		if self.nowSyncing == false{
 			syncTimer?.invalidate()
 			syncTimer?.invalidate()
 			startApp()
 			startApp()
@@ -126,7 +126,7 @@ class SyncController: UIViewController{
 	/**
 	/**
 	Signal to update the progressbar and, maybe, the tag.
 	Signal to update the progressbar and, maybe, the tag.
 	*/
 	*/
-	func progress(){
+	@objc func progress(){
 		
 		
 		if (Int(completion * 100) % 20) == 0 {
 		if (Int(completion * 100) % 20) == 0 {
 			let rnd = Int(arc4random_uniform(UInt32(messages.count)));
 			let rnd = Int(arc4random_uniform(UInt32(messages.count)));

+ 1 - 1
app/ViewController.swift

@@ -215,7 +215,7 @@ class ViewController: UIViewController, UICollectionViewDataSource, UICollection
 	/**
 	/**
 	Asynchronously gets a location report from the server.
 	Asynchronously gets a location report from the server.
 	*/
 	*/
-	func fetchLocation(){
+	@objc func fetchLocation(){
 		FetchLocation()
 		FetchLocation()
 	}
 	}
 	
 	

+ 6 - 6
app/app.xcdatamodeld/app2.xcdatamodel/contents

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="12141" systemVersion="16F73" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="V2">
+<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="13772" systemVersion="16G1314" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="V2">
     <entity name="Activity" representedClassName=".Activity" syncable="YES" codeGenerationType="class">
     <entity name="Activity" representedClassName=".Activity" syncable="YES" codeGenerationType="class">
         <attribute name="after_en" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="after_en" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="after_es" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="after_es" optional="YES" attributeType="String" syncable="YES"/>
@@ -103,7 +103,7 @@
         <attribute name="title_es" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="title_es" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="title_eu" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="title_eu" optional="YES" attributeType="String" syncable="YES"/>
     </entity>
     </entity>
-    <entity name="Festival_event_gm" representedClassName="Festival_event_gm" syncable="YES" codeGenerationType="class">
+    <entity name="Festival_event_gm" representedClassName=".Festival_event_gm" syncable="YES" codeGenerationType="class">
         <attribute name="day" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
         <attribute name="day" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
         <attribute name="description_en" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="description_en" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="description_es" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="description_es" optional="YES" attributeType="String" syncable="YES"/>
@@ -283,6 +283,7 @@
         <element name="Festival" positionX="36" positionY="-3852" width="128" height="180"/>
         <element name="Festival" positionX="36" positionY="-3852" width="128" height="180"/>
         <element name="Festival_day" positionX="-9" positionY="-3906" width="128" height="165"/>
         <element name="Festival_day" positionX="-9" positionY="-3906" width="128" height="165"/>
         <element name="Festival_event_city" positionX="-261" positionY="-3810" width="128" height="253"/>
         <element name="Festival_event_city" positionX="-261" positionY="-3810" width="128" height="253"/>
+        <element name="Festival_event_gm" positionX="-245" positionY="-4104" width="128" height="255"/>
         <element name="Festival_event_image" positionX="9" positionY="-3888" width="128" height="105"/>
         <element name="Festival_event_image" positionX="9" positionY="-3888" width="128" height="105"/>
         <element name="Festival_offer" positionX="18" positionY="-3879" width="128" height="195"/>
         <element name="Festival_offer" positionX="18" positionY="-3879" width="128" height="195"/>
         <element name="Location" positionX="27" positionY="-3870" width="128" height="90"/>
         <element name="Location" positionX="27" positionY="-3870" width="128" height="90"/>
@@ -290,16 +291,15 @@
         <element name="People" positionX="-9" positionY="-3906" width="128" height="120"/>
         <element name="People" positionX="-9" positionY="-3906" width="128" height="120"/>
         <element name="Photo" positionX="-9" positionY="-3906" width="128" height="285"/>
         <element name="Photo" positionX="-9" positionY="-3906" width="128" height="285"/>
         <element name="Photo_album" positionX="0" positionY="-3897" width="128" height="75"/>
         <element name="Photo_album" positionX="0" positionY="-3897" width="128" height="75"/>
+        <element name="Photo_comment" positionX="-9" positionY="-3906" width="128" height="135"/>
         <element name="Place" positionX="9" positionY="-3888" width="128" height="195"/>
         <element name="Place" positionX="9" positionY="-3888" width="128" height="195"/>
         <element name="Post" positionX="18" positionY="-3879" width="128" height="210"/>
         <element name="Post" positionX="18" positionY="-3879" width="128" height="210"/>
         <element name="Post_comment" positionX="27" positionY="-3870" width="128" height="135"/>
         <element name="Post_comment" positionX="27" positionY="-3870" width="128" height="135"/>
         <element name="Post_image" positionX="36" positionY="-3861" width="128" height="105"/>
         <element name="Post_image" positionX="36" positionY="-3861" width="128" height="105"/>
         <element name="Post_tag" positionX="45" positionY="-3852" width="128" height="75"/>
         <element name="Post_tag" positionX="45" positionY="-3852" width="128" height="75"/>
-        <element name="Sponsor" positionX="-9" positionY="-3906" width="128" height="270"/>
-        <element name="Version" positionX="-9" positionY="-3906" width="128" height="75"/>
-        <element name="Photo_comment" positionX="-9" positionY="-3906" width="128" height="135"/>
         <element name="Route" positionX="0" positionY="-3897" width="128" height="90"/>
         <element name="Route" positionX="0" positionY="-3897" width="128" height="90"/>
         <element name="Route_point" positionX="9" positionY="-3888" width="128" height="180"/>
         <element name="Route_point" positionX="9" positionY="-3888" width="128" height="180"/>
-        <element name="Festival_event_gm" positionX="-245" positionY="-4104" width="128" height="253"/>
+        <element name="Sponsor" positionX="-9" positionY="-3906" width="128" height="270"/>
+        <element name="Version" positionX="-9" positionY="-3906" width="128" height="75"/>
     </elements>
     </elements>
 </model>
 </model>