about page now gets information from service

This commit is contained in:
Senad Uka
2014-09-07 07:18:07 +02:00
parent 90d0d8561b
commit 376072712a
15 changed files with 522 additions and 106 deletions

View File

@@ -10,6 +10,9 @@
303A457E19BAEE51003C8860 /* FESFilmEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = 303A457D19BAEE51003C8860 /* FESFilmEntry.m */; };
303A458119BB07BC003C8860 /* FESFilmEntryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 303A458019BB07BC003C8860 /* FESFilmEntryCell.m */; };
303A458419BB0C44003C8860 /* FESFilmsTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 303A458319BB0C44003C8860 /* FESFilmsTableViewController.m */; };
303A458719BB4C9A003C8860 /* FESFilmDetailsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 303A458619BB4C9A003C8860 /* FESFilmDetailsViewController.m */; };
303A458B19BB5B10003C8860 /* FESAboutEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = 303A458A19BB5B10003C8860 /* FESAboutEntry.m */; };
303A458E19BC0A4C003C8860 /* FESAboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 303A458D19BC0A4C003C8860 /* FESAboutViewController.m */; };
3068700719B2D6B1007E4A0E /* FESSCheduleEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = 3068700619B2D6B1007E4A0E /* FESSCheduleEntry.m */; };
3068700A19B2F826007E4A0E /* FESScheduleFilm.m in Sources */ = {isa = PBXBuildFile; fileRef = 3068700919B2F826007E4A0E /* FESScheduleFilm.m */; };
3068700D19B5AB16007E4A0E /* FESScheduleTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3068700C19B5AB16007E4A0E /* FESScheduleTableViewController.m */; };
@@ -52,6 +55,12 @@
303A458019BB07BC003C8860 /* FESFilmEntryCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FESFilmEntryCell.m; path = films/FESFilmEntryCell.m; sourceTree = "<group>"; };
303A458219BB0C44003C8860 /* FESFilmsTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FESFilmsTableViewController.h; path = films/FESFilmsTableViewController.h; sourceTree = "<group>"; };
303A458319BB0C44003C8860 /* FESFilmsTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FESFilmsTableViewController.m; path = films/FESFilmsTableViewController.m; sourceTree = "<group>"; };
303A458519BB4C9A003C8860 /* FESFilmDetailsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FESFilmDetailsViewController.h; path = films/FESFilmDetailsViewController.h; sourceTree = "<group>"; };
303A458619BB4C9A003C8860 /* FESFilmDetailsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FESFilmDetailsViewController.m; path = films/FESFilmDetailsViewController.m; sourceTree = "<group>"; };
303A458919BB5B10003C8860 /* FESAboutEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FESAboutEntry.h; path = about/FESAboutEntry.h; sourceTree = "<group>"; };
303A458A19BB5B10003C8860 /* FESAboutEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FESAboutEntry.m; path = about/FESAboutEntry.m; sourceTree = "<group>"; };
303A458C19BC0A4C003C8860 /* FESAboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FESAboutViewController.h; path = about/FESAboutViewController.h; sourceTree = "<group>"; };
303A458D19BC0A4C003C8860 /* FESAboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FESAboutViewController.m; path = about/FESAboutViewController.m; sourceTree = "<group>"; };
3068700519B2D6B1007E4A0E /* FESSCheduleEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FESSCheduleEntry.h; path = schedule/FESSCheduleEntry.h; sourceTree = "<group>"; };
3068700619B2D6B1007E4A0E /* FESSCheduleEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FESSCheduleEntry.m; path = schedule/FESSCheduleEntry.m; sourceTree = "<group>"; };
3068700819B2F826007E4A0E /* FESScheduleFilm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FESScheduleFilm.h; path = schedule/FESScheduleFilm.h; sourceTree = "<group>"; };
@@ -124,10 +133,23 @@
303A458019BB07BC003C8860 /* FESFilmEntryCell.m */,
303A458219BB0C44003C8860 /* FESFilmsTableViewController.h */,
303A458319BB0C44003C8860 /* FESFilmsTableViewController.m */,
303A458519BB4C9A003C8860 /* FESFilmDetailsViewController.h */,
303A458619BB4C9A003C8860 /* FESFilmDetailsViewController.m */,
);
name = films;
sourceTree = "<group>";
};
303A458819BB5AE6003C8860 /* about */ = {
isa = PBXGroup;
children = (
303A458919BB5B10003C8860 /* FESAboutEntry.h */,
303A458A19BB5B10003C8860 /* FESAboutEntry.m */,
303A458C19BC0A4C003C8860 /* FESAboutViewController.h */,
303A458D19BC0A4C003C8860 /* FESAboutViewController.m */,
);
name = about;
sourceTree = "<group>";
};
3068700419B2D4C7007E4A0E /* schedule */ = {
isa = PBXGroup;
children = (
@@ -202,6 +224,7 @@
3CEA73C219B1A86D00076FC5 /* FestivalHelper */ = {
isa = PBXGroup;
children = (
303A458819BB5AE6003C8860 /* about */,
303A457B19BAEE1F003C8860 /* films */,
3068702419B8C00E007E4A0E /* common */,
3068701A19B86EF4007E4A0E /* venues */,
@@ -345,7 +368,9 @@
303A457E19BAEE51003C8860 /* FESFilmEntry.m in Sources */,
303A458119BB07BC003C8860 /* FESFilmEntryCell.m in Sources */,
3068700D19B5AB16007E4A0E /* FESScheduleTableViewController.m in Sources */,
303A458E19BC0A4C003C8860 /* FESAboutViewController.m in Sources */,
3068702019B88054007E4A0E /* FESVenueEntryCell.m in Sources */,
303A458719BB4C9A003C8860 /* FESFilmDetailsViewController.m in Sources */,
3CEA73C919B1A86D00076FC5 /* main.m in Sources */,
303A458419BB0C44003C8860 /* FESFilmsTableViewController.m in Sources */,
3068702719B8C03E007E4A0E /* FESDataProvider.m in Sources */,
@@ -355,6 +380,7 @@
3068700719B2D6B1007E4A0E /* FESSCheduleEntry.m in Sources */,
3CEA73CD19B1A86D00076FC5 /* FESAppDelegate.m in Sources */,
3068701619B6DA8D007E4A0E /* FESScheduleFilmsViewController.m in Sources */,
303A458B19BB5B10003C8860 /* FESAboutEntry.m in Sources */,
3068702319B883C1007E4A0E /* FESVenuesTableViewController.m in Sources */,
3068700A19B2F826007E4A0E /* FESScheduleFilm.m in Sources */,
);

View File

@@ -10,55 +10,7 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431586143.879636"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "84"
endingLineNumber = "84"
landmarkName = "-setupScheduleFromJSONArray:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431586143.879636"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "73"
endingLineNumber = "73"
landmarkName = "-setupScheduleFromJSONArray:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431586143.879636"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "87"
endingLineNumber = "87"
landmarkName = "-setupScheduleFromJSONArray:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431586143.879636"
timestampString = "431757321.944356"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "85"
@@ -74,11 +26,59 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431586143.879636"
timestampString = "431757321.944356"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "156"
endingLineNumber = "156"
startingLineNumber = "74"
endingLineNumber = "74"
landmarkName = "-setupScheduleFromJSONArray:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431757321.944356"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "88"
endingLineNumber = "88"
landmarkName = "-setupScheduleFromJSONArray:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431757321.944356"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "86"
endingLineNumber = "86"
landmarkName = "-setupScheduleFromJSONArray:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "FestivalHelper/schedule/FESScheduleTableViewController.m"
timestampString = "431757825.079897"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "165"
endingLineNumber = "165"
landmarkName = "-prepareForSegue:sender:"
landmarkType = "5">
</BreakpointContent>

View File

@@ -89,25 +89,25 @@
<rect key="frame" x="0.0" y="0.0" width="320" height="108"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="20:50" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VMV-Mw-Ifg">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="20:50" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VMV-Mw-Ifg">
<rect key="frame" x="20" y="20" width="42" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Neki film" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qhF-PW-R8w">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Neki film" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qhF-PW-R8w">
<rect key="frame" x="70" y="20" width="236" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Neko kino" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yQC-zo-ba8">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Neko kino" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yQC-zo-ba8">
<rect key="frame" x="70" y="48" width="236" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="150'" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5wK-D2-9Nf">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="150'" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5wK-D2-9Nf">
<rect key="frame" x="70" y="77" width="42" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
@@ -149,7 +149,7 @@
<scene sceneID="CX5-hP-Yrk">
<objects>
<tableViewController id="OwN-NY-lQV" customClass="FESVenuesTableViewController" sceneMemberID="viewController">
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="111" sectionHeaderHeight="22" sectionFooterHeight="22" id="fiy-kO-qOW">
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" rowHeight="111" sectionHeaderHeight="22" sectionFooterHeight="22" id="fiy-kO-qOW">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
@@ -210,7 +210,7 @@
</objects>
<point key="canvasLocation" x="1333" y="670"/>
</scene>
<!--Films Table View Controller - Root View Controller-->
<!--Films Table View Controller - Films-->
<scene sceneID="jeb-R4-g0i">
<objects>
<tableViewController id="LXN-2J-5ue" customClass="FESFilmsTableViewController" sceneMemberID="viewController">
@@ -267,16 +267,16 @@
<outlet property="delegate" destination="LXN-2J-5ue" id="HhI-AO-vWs"/>
</connections>
</tableView>
<navigationItem key="navigationItem" title="Root View Controller" id="QgM-JX-BS4"/>
<navigationItem key="navigationItem" title="Films" id="QgM-JX-BS4"/>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="kqB-YL-2XV" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1324" y="1412"/>
</scene>
<!--View Controller-->
<!--Film Details View Controller-->
<scene sceneID="saQ-da-PLe">
<objects>
<viewController id="vha-UC-aYM" sceneMemberID="viewController">
<viewController id="vha-UC-aYM" customClass="FESFilmDetailsViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="aJQ-ad-BPG"/>
<viewControllerLayoutGuide type="bottom" id="0bj-VB-Pw3"/>
@@ -285,30 +285,92 @@
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Love's a Bitch" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nbY-Gm-QpS">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Love's a Bitch" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nbY-Gm-QpS">
<rect key="frame" x="20" y="84" width="280" height="45"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="30"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="(Amore's Perros)" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1Zv-99-TJq">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="(Amores Perros)" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1Zv-99-TJq">
<rect key="frame" x="20" y="137" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="30"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="2000, MEXICO, 15O MIN, COLOR, SPANISH" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Mu-8h-ffY">
<rect key="frame" x="20" y="196" width="280" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Alejandro Gonzalez Iharritu" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AfR-aV-1qn">
<rect key="frame" x="20" y="225" width="280" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wXW-Iq-GyO">
<rect key="frame" x="20" y="254" width="145" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="otT-ko-hJL">
<rect key="frame" x="173" y="254" width="77" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="UJg-b2-s0K">
<rect key="frame" x="258" y="254" width="42" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" misplaced="YES" editable="NO" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dub-SN-7Qo">
<rect key="frame" x="20" y="283" width="280" height="236"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
<mutableString key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</mutableString>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
</textView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="otT-ko-hJL" firstAttribute="leading" secondItem="wXW-Iq-GyO" secondAttribute="trailing" constant="8" id="0Th-qI-svS"/>
<constraint firstItem="0bj-VB-Pw3" firstAttribute="top" secondItem="dub-SN-7Qo" secondAttribute="bottom" id="Ed9-YP-x4U"/>
<constraint firstItem="wXW-Iq-GyO" firstAttribute="leading" secondItem="911-Ey-uHV" secondAttribute="leading" constant="20" id="FLL-A7-tLZ"/>
<constraint firstItem="dub-SN-7Qo" firstAttribute="leading" secondItem="911-Ey-uHV" secondAttribute="leading" constant="20" id="Hf7-P5-DgD"/>
<constraint firstAttribute="trailing" secondItem="AfR-aV-1qn" secondAttribute="trailing" constant="20" id="KTj-JB-3yF"/>
<constraint firstItem="dub-SN-7Qo" firstAttribute="top" secondItem="UJg-b2-s0K" secondAttribute="bottom" constant="8" id="NV8-8A-2my"/>
<constraint firstItem="UJg-b2-s0K" firstAttribute="leading" secondItem="otT-ko-hJL" secondAttribute="trailing" constant="8" id="OYB-5x-Cvx"/>
<constraint firstAttribute="trailing" secondItem="UJg-b2-s0K" secondAttribute="trailing" constant="20" id="Puw-Pl-ieI"/>
<constraint firstItem="AfR-aV-1qn" firstAttribute="leading" secondItem="911-Ey-uHV" secondAttribute="leading" constant="20" id="XXN-5I-glK"/>
<constraint firstAttribute="trailing" secondItem="nbY-Gm-QpS" secondAttribute="trailing" constant="20" id="dYO-P3-f5J"/>
<constraint firstAttribute="trailing" secondItem="dub-SN-7Qo" secondAttribute="trailing" constant="20" id="jmJ-tF-mHq"/>
<constraint firstItem="UJg-b2-s0K" firstAttribute="leading" secondItem="otT-ko-hJL" secondAttribute="trailing" constant="8" id="k8k-BC-2Jq"/>
<constraint firstItem="0Mu-8h-ffY" firstAttribute="leading" secondItem="911-Ey-uHV" secondAttribute="leading" constant="20" id="qsB-CY-dSI"/>
<constraint firstAttribute="trailing" secondItem="0Mu-8h-ffY" secondAttribute="trailing" constant="20" id="uBf-zN-dfg"/>
<constraint firstItem="otT-ko-hJL" firstAttribute="leading" secondItem="wXW-Iq-GyO" secondAttribute="trailing" constant="8" id="wWu-0h-8Jz"/>
<constraint firstItem="nbY-Gm-QpS" firstAttribute="leading" secondItem="911-Ey-uHV" secondAttribute="leading" constant="20" id="wdg-ex-XuY"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="5vS-ss-2iU"/>
<connections>
<outlet property="filmDate" destination="otT-ko-hJL" id="0B8-5K-xzC"/>
<outlet property="filmDescription" destination="dub-SN-7Qo" id="i5k-Rs-ugl"/>
<outlet property="filmDirectors" destination="AfR-aV-1qn" id="STS-BR-jo9"/>
<outlet property="filmProgram" destination="wXW-Iq-GyO" id="Ksi-Hj-4is"/>
<outlet property="filmTagLines" destination="0Mu-8h-ffY" id="F6P-Pc-uWT"/>
<outlet property="filmTime" destination="UJg-b2-s0K" id="2tJ-6y-lIg"/>
<outlet property="filmTitle" destination="nbY-Gm-QpS" id="2vV-HL-eV9"/>
<outlet property="filmTitleTranslation" destination="1Zv-99-TJq" id="gcZ-8n-46d"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="6qR-Jm-V7B" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1769" y="1412"/>
<point key="canvasLocation" x="1852" y="1412"/>
</scene>
<!--Navigation Controller - Films-->
<scene sceneID="AJa-iV-8JL">
@@ -342,51 +404,88 @@
</objects>
<point key="canvasLocation" x="784" y="660"/>
</scene>
<!--Table View Controller - Root View Controller-->
<scene sceneID="vAN-Iz-ATE">
<objects>
<tableViewController id="Yos-r1-FJZ" sceneMemberID="viewController">
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="A34-f4-e2Y">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="yee-S4-Mwh">
<rect key="frame" x="0.0" y="86" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="yee-S4-Mwh" id="HuM-M2-Jxo">
<rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
<autoresizingMask key="autoresizingMask"/>
</tableViewCellContentView>
</tableViewCell>
</prototypes>
<connections>
<outlet property="dataSource" destination="Yos-r1-FJZ" id="Vlq-Mh-wly"/>
<outlet property="delegate" destination="Yos-r1-FJZ" id="Itz-Cm-CKA"/>
</connections>
</tableView>
<navigationItem key="navigationItem" title="Root View Controller" id="4U8-Zl-TNh"/>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="7Gg-Ur-aBt" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1312" y="2245"/>
</scene>
<!--Navigation Controller - About-->
<scene sceneID="jJJ-YQ-eCd">
<objects>
<placeholder placeholderIdentifier="IBFirstResponder" id="NhF-zd-me1" userLabel="First Responder" sceneMemberID="firstResponder"/>
<navigationController definesPresentationContext="YES" id="iFw-A9-jRy" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" title="About" image="second" id="XcE-TV-yuD"/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="YjT-do-uPQ">
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="Yos-r1-FJZ" kind="relationship" relationship="rootViewController" id="N7x-AS-FQ2"/>
<segue destination="TAt-iI-bny" kind="relationship" relationship="rootViewController" id="S3J-aR-EKW"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="NhF-zd-me1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="784" y="2245"/>
</scene>
<!--About View Controller - About Festival Helper-->
<scene sceneID="beJ-LX-a9w">
<objects>
<placeholder placeholderIdentifier="IBFirstResponder" id="cyG-nV-qfN" userLabel="First Responder" sceneMemberID="firstResponder"/>
<viewController id="TAt-iI-bny" customClass="FESAboutViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="HwM-th-Z3n"/>
<viewControllerLayoutGuide type="bottom" id="j60-yT-Qz5"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="sei-JV-bzT">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" bounces="NO" editable="NO" text="aaa" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ki9-W8-lJR">
<rect key="frame" x="20" y="65" width="280" height="170"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
<dataDetectorType key="dataDetectorTypes" phoneNumber="YES" link="YES"/>
</textView>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Rate on Itunes App Store" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zOL-bk-9AL">
<rect key="frame" x="63" y="283" width="194" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Lovingly crafted by:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W70-b3-6V5">
<rect key="frame" x="85" y="331" width="151" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Emir Bukva" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Hqb-ao-G17">
<rect key="frame" x="116" y="377" width="88" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Senad Uka" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ejk-VE-yrI">
<rect key="frame" x="118" y="406" width="85" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="zOL-bk-9AL" firstAttribute="leading" secondItem="sei-JV-bzT" secondAttribute="leading" constant="63" id="EaC-79-6T1"/>
<constraint firstItem="Ejk-VE-yrI" firstAttribute="leading" secondItem="sei-JV-bzT" secondAttribute="leading" constant="118" id="Mme-ku-PKL"/>
<constraint firstAttribute="trailing" secondItem="Ejk-VE-yrI" secondAttribute="trailing" constant="117" id="U7H-zl-L13"/>
<constraint firstItem="Hqb-ao-G17" firstAttribute="leading" secondItem="sei-JV-bzT" secondAttribute="leading" constant="116" id="X5Z-6O-cDb"/>
<constraint firstAttribute="trailing" secondItem="W70-b3-6V5" secondAttribute="trailing" constant="84" id="Z3n-Sf-mwc"/>
<constraint firstAttribute="trailing" secondItem="zOL-bk-9AL" secondAttribute="trailing" constant="63" id="fVL-Hw-Pb8"/>
<constraint firstItem="W70-b3-6V5" firstAttribute="leading" secondItem="sei-JV-bzT" secondAttribute="leading" constant="85" id="kVx-2f-Oqk"/>
<constraint firstAttribute="trailing" secondItem="Hqb-ao-G17" secondAttribute="trailing" constant="116" id="uaR-1b-GkJ"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="About Festival Helper" id="Lbr-rH-PVl"/>
<connections>
<outlet property="aboutDescription" destination="ki9-W8-lJR" id="4Ic-ce-K53"/>
</connections>
</viewController>
</objects>
<point key="canvasLocation" x="1246" y="2238"/>
</scene>
<!--Navigation Controller - Schedule-->
<scene sceneID="kz3-B2-S4e">
<objects>

View File

@@ -19,8 +19,10 @@
#define SCHEDULE_URL @"http://127.0.0.1:8080/sff2014/schedule.json?local"
#define VENUES_URL @"http://127.0.0.1:8080/sff2014/venues.json?local"
#define FILMS_URL @"http://127.0.0.1:8080/sff2014/films.json?local"
#define ABOUT_URL @"http://127.0.0.1:8080/sff2014/about.json?local"
#else
#define SCHEDULE_URL @"http://localhost:8080/sff2014/schedule.json?remote"
#define VENUES_URL @"http://localhost:8080/sff2014/venues.json?remote"
#define FILMS_URL @"http://localhost:8080/sff2014/films.json?remote"
#define ABOUT_URL @"http://localhost:8080/sff2014/about.json?remote"
#endif

View File

@@ -0,0 +1,20 @@
//
// FESAboutEntry.h
// FestivalHelper
//
// Created by Hamo Hapic on 06/09/14.
// Copyright (c) 2014 Senad Uka. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface FESAboutEntry : NSObject
@property (assign) NSInteger aboutId;
@property (strong) NSString *aboutFestivalName;
@property (strong) NSString *aboutDescription;
@property (strong) NSString *aboutAppRateUrl;
-(id)initWithJSONData:(NSDictionary*)aboutData;
@end

View File

@@ -0,0 +1,31 @@
//
// FESAboutEntry.m
// FestivalHelper
//
// Created by Hamo Hapic on 06/09/14.
// Copyright (c) 2014 Senad Uka. All rights reserved.
//
#import "FESAboutEntry.h"
@implementation FESAboutEntry
@synthesize aboutId;
@synthesize aboutAppRateUrl;
@synthesize aboutDescription;
@synthesize aboutFestivalName;
-(id)initWithJSONData:(NSDictionary*)aboutData {
self = [super init];
if(self){
//NSLog(@"initWithJSONData method called");
self.aboutId = [[aboutData objectForKey:@"id"] integerValue];
self.aboutAppRateUrl = [aboutData objectForKey:@"appRateUrl"];
self.aboutDescription = [aboutData objectForKey:@"description"];
self.aboutFestivalName = [aboutData objectForKey:@"festivalName"];
}
return self;
};
@end

View File

@@ -0,0 +1,21 @@
//
// FESAboutViewController.h
// FestivalHelper
//
// Created by Hamo Hapic on 07/09/14.
// Copyright (c) 2014 Senad Uka. All rights reserved.
//
#import <UIKit/UIKit.h>
@class FESAboutEntry;
@interface FESAboutViewController : UIViewController
@property (strong)FESAboutEntry *aboutEntry;
@property (weak, nonatomic)IBOutlet UITextView *aboutDescription;
@end

View File

@@ -0,0 +1,91 @@
//
// FESAboutViewController.m
// FestivalHelper
//
// Created by Hamo Hapic on 07/09/14.
// Copyright (c) 2014 Senad Uka. All rights reserved.
//
#import "FESAboutViewController.h"
#import "FESDataProvider.h"
#import "FESAboutEntry.h"
@interface FESAboutViewController ()
@end
@implementation FESAboutViewController
@synthesize aboutEntry;
@synthesize aboutDescription;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[FESDataProvider getDataFromServerForUrl:ABOUT_URL andProcessThemWith:^(NSData *data) {
[self setupAboutFromJSONArray:data];
[self performSelectorOnMainThread:@selector(setupAboutFields) withObject:nil waitUntilDone:NO];
}];
}
-(void)setupAboutFromJSONArray:(NSData*)dataFromServerArray{
NSError *error;
NSArray *arrayFromServer = [NSJSONSerialization JSONObjectWithData:dataFromServerArray options:0 error:&error];
if(error){
NSLog(@"error parsing the json data from server with error description - %@", [error localizedDescription]);
}
else {
for(NSDictionary *aboutData in arrayFromServer)
{
FESAboutEntry *entry = [[FESAboutEntry alloc] initWithJSONData:aboutData];
self.aboutEntry = entry;
break;
}
NSLog(@"success!");
}
}
-(void)setupAboutFields {
if(aboutEntry != nil) {
self.navigationItem.title = aboutEntry.aboutFestivalName;
self.aboutDescription.text = aboutEntry.aboutDescription;
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end

View File

@@ -0,0 +1,32 @@
//
// FESFilmDetailsViewController.h
// FestivalHelper
//
// Created by Hamo Hapic on 06/09/14.
// Copyright (c) 2014 Senad Uka. All rights reserved.
//
#import <UIKit/UIKit.h>
@class FESFilmEntry;
@interface FESFilmDetailsViewController : UIViewController
@property (strong)FESFilmEntry *filmEntry;
@property (weak, nonatomic)IBOutlet UILabel *filmTitle;
@property (weak, nonatomic)IBOutlet UILabel *filmTitleTranslation;
@property (weak, nonatomic)IBOutlet UILabel *filmProgram;
@property (weak, nonatomic)IBOutlet UILabel *filmDate;
@property (weak, nonatomic)IBOutlet UILabel *filmTime;
@property (weak, nonatomic)IBOutlet UITextView *filmDescription;
@property (weak, nonatomic)IBOutlet UILabel *filmDirectors;
@property (weak, nonatomic)IBOutlet UILabel *filmTagLines;
@end

View File

@@ -0,0 +1,71 @@
//
// FESFilmDetailsViewController.m
// FestivalHelper
//
// Created by Hamo Hapic on 06/09/14.
// Copyright (c) 2014 Senad Uka. All rights reserved.
//
#import "FESFilmDetailsViewController.h"
#import "FESFilmEntry.h"
@interface FESFilmDetailsViewController ()
@end
@implementation FESFilmDetailsViewController
@synthesize filmEntry;
@synthesize filmTitle;
@synthesize filmDirectors;
@synthesize filmProgram;
@synthesize filmDescription;
@synthesize filmTagLines;
@synthesize filmTitleTranslation;
@synthesize filmTime;
@synthesize filmDate;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
if(filmEntry != nil) {
filmTitle.text = filmEntry.filmTitle;
filmTime.text = filmEntry.filmTime;
filmTagLines.text = filmEntry.filmTagLines;
filmTitleTranslation.text = filmEntry.filmTitleTranslation;
filmDirectors.text = filmEntry.filmDirectors;
filmDescription.text = filmEntry.filmDescription;
filmProgram.text = filmEntry.filmProgram;
filmDate.text = filmEntry.filmDate;
self.navigationItem.title = filmEntry.filmTitle;
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end

View File

@@ -10,6 +10,7 @@
#import "FESFilmEntry.h"
#import "FESDataProvider.h"
#import "FESFilmEntryCell.h"
#import "FESFilmDetailsViewController.h"
@interface FESFilmsTableViewController ()
@@ -59,6 +60,7 @@
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
@@ -133,15 +135,16 @@
}
*/
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
FESFilmDetailsViewController *destination = [segue destinationViewController];
destination.filmEntry = [filmsArray objectAtIndex:self.tableView.indexPathForSelectedRow.row];
}
*/
@end

View File

@@ -39,6 +39,8 @@
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];

View File

@@ -38,6 +38,7 @@
[FESDataProvider getDataFromServerForUrl:SCHEDULE_URL andProcessThemWith:^(NSData *data) {
[self setupScheduleFromJSONArray:data];
[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
[self performSelectorOnMainThread:@selector(setupTitle) withObject:nil waitUntilDone:NO];
}];
// Uncomment the following line to preserve selection between presentations.
@@ -89,6 +90,14 @@
}
}
-(void)setupTitle {
if (scheduleArray != nil && scheduleArray.count > 0) {
FESSCheduleEntry *se = [scheduleArray objectAtIndex:0];
self.navigationItem.title = se.scheduleYear;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
@@ -158,6 +167,7 @@
// Pass the selected object to the new view controller.
destination.scheduleFilmsArray = entry.scheduleFilms;
destination.navigationItem.title = [[entry.scheduleDayOfWeek stringByAppendingString:@", "] stringByAppendingString:entry.scheduleDate];
}

View File

@@ -0,0 +1,8 @@
[
{
"id": 1,
"festivalName": "Sarajevo Film Festival",
"description": "Please note that schedule in this app is subject to change.\n Please refer to http://sff.ba, call +38763595242 or go to the box office at Branilaca Sarajeva 24 for the latest schedule.\n\nOutdoor Summer Cinema Projections are subject to weather conditions.",
"appRateUrl": "http://apple.something.com/festivalhelper"
}
]

View File

@@ -6,32 +6,32 @@
"program": "HT Eronet Open Air",
"date": "15.8.2014.",
"time": "20:30",
"year": "2014",
"description": "lorem ipsum a lot of text lorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of text",
"year": "2000",
"description": "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.",
"directors": "Alejandro Gonzalez Iharritu",
"tagLine": "2000, MEXICO, 15O MIN, COLOR, SPANISH"
},
{
"id": 2,
"title": "20 000 Days on Earth",
"titleTranslation": "20 000 Days on Earth",
"titleTranslation": "",
"program": "Novi Grad Cinema",
"date": "16.8.2014.",
"time": "20:30",
"year": "2014",
"description": "lorem ipsum a lot of text lorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of text",
"year": "2010",
"description": "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.",
"directors": "First Name, Second Name",
"tagLine": "2010, USA, 16O MIN, COLOR, ENGLISH"
},
{
"id": 3,
"title": "24 Party People",
"titleTranslation": "24 Party People",
"titleTranslation": "",
"program": "Novi Grad Cinema",
"date": "17.8.2014.",
"time": "21:30",
"year": "2014",
"description": "lorem ipsum a lot of text lorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of textlorem ipsum a lot of text",
"description": "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.",
"directors": "Third Name, Fourth Name",
"tagLine": "2013, USA, 90 MIN, COLOR, ENGLISH"