Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Application Framework is setup. No Parse Code

  • Loading branch information...
commit 813bf7978dc14abe80f9d13f126fc4938be2c23f 1 parent 01143ec
David Rodriguez authored

Showing 29 changed files with 856 additions and 16 deletions. Show diff stats Hide diff stats

  1. +102 8 ParsePosts.xcodeproj/project.pbxproj
  2. +7 0 ParsePosts.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. BIN  ParsePosts.xcodeproj/project.xcworkspace/xcuserdata/programmerdave.xcuserdatad/UserInterfaceState.xcuserstate
  4. +85 0 ParsePosts.xcodeproj/xcuserdata/programmerdave.xcuserdatad/xcschemes/ParsePosts.xcscheme
  5. +22 0 ParsePosts.xcodeproj/xcuserdata/programmerdave.xcuserdatad/xcschemes/xcschememanagement.plist
  6. +1 1  ParsePosts/AppDelegate.h
  7. +2 5 ParsePosts/AppDelegate.m
  8. BIN  ParsePosts/Default.png
  9. BIN  ParsePosts/Default@2x.png
  10. BIN  ParsePosts/Icon-72.png
  11. BIN  ParsePosts/Icon-72@2x.png
  12. BIN  ParsePosts/Icon-Small-50.png
  13. BIN  ParsePosts/Icon-Small.png
  14. BIN  ParsePosts/Icon-Small@2x.png
  15. BIN  ParsePosts/Icon.png
  16. BIN  ParsePosts/Icon@2x.png
  17. +288 0 ParsePosts/MainStoryboard_iPhone.storyboard
  18. +14 0 ParsePosts/NewPostViewController.h
  19. +93 0 ParsePosts/NewPostViewController.m
  20. +2 2 ParsePosts/ParsePosts-Info.plist
  21. +18 0 ParsePosts/RecentPostsTableViewController.h
  22. +76 0 ParsePosts/RecentPostsTableViewController.m
  23. +22 0 ParsePosts/RegistrationViewController.h
  24. +124 0 ParsePosts/RegistrationViewController.m
  25. BIN  ParsePosts/first.png
  26. BIN  ParsePosts/first@2x.png
  27. BIN  ParsePosts/iTunesArtwork
  28. BIN  ParsePosts/second.png
  29. BIN  ParsePosts/second@2x.png
110 ParsePosts.xcodeproj/project.pbxproj
@@ -12,7 +12,25 @@
12 12 17D57962153620E300C7DDDE /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17D57961153620E300C7DDDE /* CoreGraphics.framework */; };
13 13 17D57968153620E300C7DDDE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 17D57966153620E300C7DDDE /* InfoPlist.strings */; };
14 14 17D5796A153620E300C7DDDE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D57969153620E300C7DDDE /* main.m */; };
15   - 17D5796E153620E300C7DDDE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D5796D153620E300C7DDDE /* AppDelegate.m */; };
  15 + 17D579891536214900C7DDDE /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 17D579881536214900C7DDDE /* MainStoryboard_iPhone.storyboard */; };
  16 + 17D5798E153621D000C7DDDE /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D5798C153621D000C7DDDE /* Default.png */; };
  17 + 17D5798F153621D000C7DDDE /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D5798D153621D000C7DDDE /* Default@2x.png */; };
  18 + 17D57992153621F600C7DDDE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D57991153621F600C7DDDE /* AppDelegate.m */; };
  19 + 17D579931536233F00C7DDDE /* NewPostViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D5797F1536211A00C7DDDE /* NewPostViewController.m */; };
  20 + 17D579941536233F00C7DDDE /* RecentPostsTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D579811536211A00C7DDDE /* RecentPostsTableViewController.m */; };
  21 + 17D579951536233F00C7DDDE /* RegistrationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 17D579831536211A00C7DDDE /* RegistrationViewController.m */; };
  22 + 17D579961536234A00C7DDDE /* second.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579841536211A00C7DDDE /* second.png */; };
  23 + 17D579971536234A00C7DDDE /* second@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579851536211A00C7DDDE /* second@2x.png */; };
  24 + 17D579981536234A00C7DDDE /* first.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579741536211A00C7DDDE /* first.png */; };
  25 + 17D579991536234A00C7DDDE /* first@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579751536211A00C7DDDE /* first@2x.png */; };
  26 + 17D5799A1536234A00C7DDDE /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579761536211A00C7DDDE /* Icon-72.png */; };
  27 + 17D5799B1536234A00C7DDDE /* Icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579771536211A00C7DDDE /* Icon-72@2x.png */; };
  28 + 17D5799C1536234A00C7DDDE /* Icon-Small-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579781536211A00C7DDDE /* Icon-Small-50.png */; };
  29 + 17D5799D1536234A00C7DDDE /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D579791536211A00C7DDDE /* Icon-Small.png */; };
  30 + 17D5799E1536234A00C7DDDE /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D5797A1536211A00C7DDDE /* Icon-Small@2x.png */; };
  31 + 17D5799F1536234A00C7DDDE /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D5797B1536211A00C7DDDE /* Icon.png */; };
  32 + 17D579A01536234A00C7DDDE /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 17D5797C1536211A00C7DDDE /* Icon@2x.png */; };
  33 + 17D579A11536234A00C7DDDE /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 17D5797D1536211A00C7DDDE /* iTunesArtwork */; };
16 34 /* End PBXBuildFile section */
17 35
18 36 /* Begin PBXFileReference section */
@@ -20,12 +38,33 @@
20 38 17D5795D153620E300C7DDDE /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
21 39 17D5795F153620E300C7DDDE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
22 40 17D57961153620E300C7DDDE /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
23   - 17D57965153620E300C7DDDE /* ParsePosts-Info.plist */ = {isa = PBXFileReference; path = "ParsePosts-Info.plist"; sourceTree = "<group>"; };
  41 + 17D57965153620E300C7DDDE /* ParsePosts-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ParsePosts-Info.plist"; sourceTree = "<group>"; };
24 42 17D57967153620E300C7DDDE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
25 43 17D57969153620E300C7DDDE /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
26   - 17D5796B153620E300C7DDDE /* ParsePosts-Prefix.pch */ = {isa = PBXFileReference; path = "ParsePosts-Prefix.pch"; sourceTree = "<group>"; };
27   - 17D5796C153620E300C7DDDE /* AppDelegate.h */ = {isa = PBXFileReference; path = AppDelegate.h; sourceTree = "<group>"; };
28   - 17D5796D153620E300C7DDDE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
  44 + 17D5796B153620E300C7DDDE /* ParsePosts-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ParsePosts-Prefix.pch"; sourceTree = "<group>"; };
  45 + 17D579741536211A00C7DDDE /* first.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = first.png; sourceTree = "<group>"; };
  46 + 17D579751536211A00C7DDDE /* first@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "first@2x.png"; sourceTree = "<group>"; };
  47 + 17D579761536211A00C7DDDE /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = "<group>"; };
  48 + 17D579771536211A00C7DDDE /* Icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72@2x.png"; sourceTree = "<group>"; };
  49 + 17D579781536211A00C7DDDE /* Icon-Small-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small-50.png"; sourceTree = "<group>"; };
  50 + 17D579791536211A00C7DDDE /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small.png"; sourceTree = "<group>"; };
  51 + 17D5797A1536211A00C7DDDE /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-Small@2x.png"; sourceTree = "<group>"; };
  52 + 17D5797B1536211A00C7DDDE /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
  53 + 17D5797C1536211A00C7DDDE /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = "<group>"; };
  54 + 17D5797D1536211A00C7DDDE /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; path = iTunesArtwork; sourceTree = "<group>"; };
  55 + 17D5797E1536211A00C7DDDE /* NewPostViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NewPostViewController.h; sourceTree = "<group>"; };
  56 + 17D5797F1536211A00C7DDDE /* NewPostViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NewPostViewController.m; sourceTree = "<group>"; };
  57 + 17D579801536211A00C7DDDE /* RecentPostsTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecentPostsTableViewController.h; sourceTree = "<group>"; };
  58 + 17D579811536211A00C7DDDE /* RecentPostsTableViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RecentPostsTableViewController.m; sourceTree = "<group>"; };
  59 + 17D579821536211A00C7DDDE /* RegistrationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RegistrationViewController.h; sourceTree = "<group>"; };
  60 + 17D579831536211A00C7DDDE /* RegistrationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RegistrationViewController.m; sourceTree = "<group>"; };
  61 + 17D579841536211A00C7DDDE /* second.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = second.png; sourceTree = "<group>"; };
  62 + 17D579851536211A00C7DDDE /* second@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "second@2x.png"; sourceTree = "<group>"; };
  63 + 17D579881536214900C7DDDE /* MainStoryboard_iPhone.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
  64 + 17D5798C153621D000C7DDDE /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
  65 + 17D5798D153621D000C7DDDE /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
  66 + 17D57990153621F600C7DDDE /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
  67 + 17D57991153621F600C7DDDE /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
29 68 /* End PBXFileReference section */
30 69
31 70 /* Begin PBXFrameworksBuildPhase section */
@@ -72,8 +111,11 @@
72 111 17D57963153620E300C7DDDE /* ParsePosts */ = {
73 112 isa = PBXGroup;
74 113 children = (
75   - 17D5796C153620E300C7DDDE /* AppDelegate.h */,
76   - 17D5796D153620E300C7DDDE /* AppDelegate.m */,
  114 + 17D57990153621F600C7DDDE /* AppDelegate.h */,
  115 + 17D57991153621F600C7DDDE /* AppDelegate.m */,
  116 + 17D579881536214900C7DDDE /* MainStoryboard_iPhone.storyboard */,
  117 + 17D579871536212800C7DDDE /* Classes */,
  118 + 17D579861536211F00C7DDDE /* Images */,
77 119 17D57964153620E300C7DDDE /* Supporting Files */,
78 120 );
79 121 path = ParsePosts;
@@ -90,6 +132,40 @@
90 132 name = "Supporting Files";
91 133 sourceTree = "<group>";
92 134 };
  135 + 17D579861536211F00C7DDDE /* Images */ = {
  136 + isa = PBXGroup;
  137 + children = (
  138 + 17D5798C153621D000C7DDDE /* Default.png */,
  139 + 17D5798D153621D000C7DDDE /* Default@2x.png */,
  140 + 17D579841536211A00C7DDDE /* second.png */,
  141 + 17D579851536211A00C7DDDE /* second@2x.png */,
  142 + 17D579741536211A00C7DDDE /* first.png */,
  143 + 17D579751536211A00C7DDDE /* first@2x.png */,
  144 + 17D579761536211A00C7DDDE /* Icon-72.png */,
  145 + 17D579771536211A00C7DDDE /* Icon-72@2x.png */,
  146 + 17D579781536211A00C7DDDE /* Icon-Small-50.png */,
  147 + 17D579791536211A00C7DDDE /* Icon-Small.png */,
  148 + 17D5797A1536211A00C7DDDE /* Icon-Small@2x.png */,
  149 + 17D5797B1536211A00C7DDDE /* Icon.png */,
  150 + 17D5797C1536211A00C7DDDE /* Icon@2x.png */,
  151 + 17D5797D1536211A00C7DDDE /* iTunesArtwork */,
  152 + );
  153 + name = Images;
  154 + sourceTree = "<group>";
  155 + };
  156 + 17D579871536212800C7DDDE /* Classes */ = {
  157 + isa = PBXGroup;
  158 + children = (
  159 + 17D5797E1536211A00C7DDDE /* NewPostViewController.h */,
  160 + 17D5797F1536211A00C7DDDE /* NewPostViewController.m */,
  161 + 17D579801536211A00C7DDDE /* RecentPostsTableViewController.h */,
  162 + 17D579811536211A00C7DDDE /* RecentPostsTableViewController.m */,
  163 + 17D579821536211A00C7DDDE /* RegistrationViewController.h */,
  164 + 17D579831536211A00C7DDDE /* RegistrationViewController.m */,
  165 + );
  166 + name = Classes;
  167 + sourceTree = "<group>";
  168 + };
93 169 /* End PBXGroup section */
94 170
95 171 /* Begin PBXNativeTarget section */
@@ -141,7 +217,22 @@
141 217 isa = PBXResourcesBuildPhase;
142 218 buildActionMask = 2147483647;
143 219 files = (
  220 + 17D579961536234A00C7DDDE /* second.png in Resources */,
  221 + 17D579971536234A00C7DDDE /* second@2x.png in Resources */,
  222 + 17D579981536234A00C7DDDE /* first.png in Resources */,
  223 + 17D579991536234A00C7DDDE /* first@2x.png in Resources */,
  224 + 17D5799A1536234A00C7DDDE /* Icon-72.png in Resources */,
  225 + 17D5799B1536234A00C7DDDE /* Icon-72@2x.png in Resources */,
  226 + 17D5799C1536234A00C7DDDE /* Icon-Small-50.png in Resources */,
  227 + 17D5799D1536234A00C7DDDE /* Icon-Small.png in Resources */,
  228 + 17D5799E1536234A00C7DDDE /* Icon-Small@2x.png in Resources */,
  229 + 17D5799F1536234A00C7DDDE /* Icon.png in Resources */,
  230 + 17D579A01536234A00C7DDDE /* Icon@2x.png in Resources */,
  231 + 17D579A11536234A00C7DDDE /* iTunesArtwork in Resources */,
144 232 17D57968153620E300C7DDDE /* InfoPlist.strings in Resources */,
  233 + 17D579891536214900C7DDDE /* MainStoryboard_iPhone.storyboard in Resources */,
  234 + 17D5798E153621D000C7DDDE /* Default.png in Resources */,
  235 + 17D5798F153621D000C7DDDE /* Default@2x.png in Resources */,
145 236 );
146 237 runOnlyForDeploymentPostprocessing = 0;
147 238 };
@@ -152,8 +243,11 @@
152 243 isa = PBXSourcesBuildPhase;
153 244 buildActionMask = 2147483647;
154 245 files = (
  246 + 17D579931536233F00C7DDDE /* NewPostViewController.m in Sources */,
  247 + 17D579941536233F00C7DDDE /* RecentPostsTableViewController.m in Sources */,
  248 + 17D579951536233F00C7DDDE /* RegistrationViewController.m in Sources */,
155 249 17D5796A153620E300C7DDDE /* main.m in Sources */,
156   - 17D5796E153620E300C7DDDE /* AppDelegate.m in Sources */,
  250 + 17D57992153621F600C7DDDE /* AppDelegate.m in Sources */,
157 251 );
158 252 runOnlyForDeploymentPostprocessing = 0;
159 253 };
7 ParsePosts.xcodeproj/project.xcworkspace/contents.xcworkspacedata
... ... @@ -0,0 +1,7 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Workspace
  3 + version = "1.0">
  4 + <FileRef
  5 + location = "self:ParsePosts.xcodeproj">
  6 + </FileRef>
  7 +</Workspace>
BIN  ...Posts.xcodeproj/project.xcworkspace/xcuserdata/programmerdave.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
85 ParsePosts.xcodeproj/xcuserdata/programmerdave.xcuserdatad/xcschemes/ParsePosts.xcscheme
... ... @@ -0,0 +1,85 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + version = "1.3">
  4 + <BuildAction
  5 + parallelizeBuildables = "YES"
  6 + buildImplicitDependencies = "YES">
  7 + <BuildActionEntries>
  8 + <BuildActionEntry
  9 + buildForTesting = "YES"
  10 + buildForRunning = "YES"
  11 + buildForProfiling = "YES"
  12 + buildForArchiving = "YES"
  13 + buildForAnalyzing = "YES">
  14 + <BuildableReference
  15 + BuildableIdentifier = "primary"
  16 + BlueprintIdentifier = "17D57958153620E300C7DDDE"
  17 + BuildableName = "ParsePosts.app"
  18 + BlueprintName = "ParsePosts"
  19 + ReferencedContainer = "container:ParsePosts.xcodeproj">
  20 + </BuildableReference>
  21 + </BuildActionEntry>
  22 + </BuildActionEntries>
  23 + </BuildAction>
  24 + <TestAction
  25 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  26 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  27 + shouldUseLaunchSchemeArgsEnv = "YES"
  28 + buildConfiguration = "Debug">
  29 + <Testables>
  30 + </Testables>
  31 + <MacroExpansion>
  32 + <BuildableReference
  33 + BuildableIdentifier = "primary"
  34 + BlueprintIdentifier = "17D57958153620E300C7DDDE"
  35 + BuildableName = "ParsePosts.app"
  36 + BlueprintName = "ParsePosts"
  37 + ReferencedContainer = "container:ParsePosts.xcodeproj">
  38 + </BuildableReference>
  39 + </MacroExpansion>
  40 + </TestAction>
  41 + <LaunchAction
  42 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  43 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  44 + launchStyle = "0"
  45 + useCustomWorkingDirectory = "NO"
  46 + buildConfiguration = "Debug"
  47 + ignoresPersistentStateOnLaunch = "NO"
  48 + debugDocumentVersioning = "YES"
  49 + allowLocationSimulation = "YES">
  50 + <BuildableProductRunnable>
  51 + <BuildableReference
  52 + BuildableIdentifier = "primary"
  53 + BlueprintIdentifier = "17D57958153620E300C7DDDE"
  54 + BuildableName = "ParsePosts.app"
  55 + BlueprintName = "ParsePosts"
  56 + ReferencedContainer = "container:ParsePosts.xcodeproj">
  57 + </BuildableReference>
  58 + </BuildableProductRunnable>
  59 + <AdditionalOptions>
  60 + </AdditionalOptions>
  61 + </LaunchAction>
  62 + <ProfileAction
  63 + shouldUseLaunchSchemeArgsEnv = "YES"
  64 + savedToolIdentifier = ""
  65 + useCustomWorkingDirectory = "NO"
  66 + buildConfiguration = "Release"
  67 + debugDocumentVersioning = "YES">
  68 + <BuildableProductRunnable>
  69 + <BuildableReference
  70 + BuildableIdentifier = "primary"
  71 + BlueprintIdentifier = "17D57958153620E300C7DDDE"
  72 + BuildableName = "ParsePosts.app"
  73 + BlueprintName = "ParsePosts"
  74 + ReferencedContainer = "container:ParsePosts.xcodeproj">
  75 + </BuildableReference>
  76 + </BuildableProductRunnable>
  77 + </ProfileAction>
  78 + <AnalyzeAction
  79 + buildConfiguration = "Debug">
  80 + </AnalyzeAction>
  81 + <ArchiveAction
  82 + buildConfiguration = "Release"
  83 + revealArchiveInOrganizer = "YES">
  84 + </ArchiveAction>
  85 +</Scheme>
22 ParsePosts.xcodeproj/xcuserdata/programmerdave.xcuserdatad/xcschemes/xcschememanagement.plist
... ... @@ -0,0 +1,22 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>SchemeUserState</key>
  6 + <dict>
  7 + <key>ParsePosts.xcscheme</key>
  8 + <dict>
  9 + <key>orderHint</key>
  10 + <integer>0</integer>
  11 + </dict>
  12 + </dict>
  13 + <key>SuppressBuildableAutocreation</key>
  14 + <dict>
  15 + <key>17D57958153620E300C7DDDE</key>
  16 + <dict>
  17 + <key>primary</key>
  18 + <true/>
  19 + </dict>
  20 + </dict>
  21 +</dict>
  22 +</plist>
2  ParsePosts/AppDelegate.h
... ... @@ -1,6 +1,6 @@
1 1 //
2 2 // AppDelegate.h
3   -// ParsePosts
  3 +// ParseTest
4 4 //
5 5 // Created by David Rodriguez on 4/11/12.
6 6 // Copyright (c) 2012 Forge42. All rights reserved.
7 ParsePosts/AppDelegate.m
... ... @@ -1,6 +1,6 @@
1 1 //
2 2 // AppDelegate.m
3   -// ParsePosts
  3 +// ParseTest
4 4 //
5 5 // Created by David Rodriguez on 4/11/12.
6 6 // Copyright (c) 2012 Forge42. All rights reserved.
@@ -20,13 +20,10 @@ - (void)dealloc
20 20
21 21 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
22 22 {
23   - self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
24 23 // Override point for customization after application launch.
25   - self.window.backgroundColor = [UIColor whiteColor];
26   - [self.window makeKeyAndVisible];
27 24 return YES;
28 25 }
29   -
  26 +
30 27 - (void)applicationWillResignActive:(UIApplication *)application
31 28 {
32 29 // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
BIN  ParsePosts/Default.png
BIN  ParsePosts/Default@2x.png
BIN  ParsePosts/Icon-72.png
BIN  ParsePosts/Icon-72@2x.png
BIN  ParsePosts/Icon-Small-50.png
BIN  ParsePosts/Icon-Small.png
BIN  ParsePosts/Icon-Small@2x.png
BIN  ParsePosts/Icon.png
BIN  ParsePosts/Icon@2x.png
288 ParsePosts/MainStoryboard_iPhone.storyboard
... ... @@ -0,0 +1,288 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.1" toolsVersion="2182" systemVersion="11D50b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="4">
  3 + <dependencies>
  4 + <deployment defaultVersion="1296" identifier="iOS"/>
  5 + <development defaultVersion="4200" identifier="xcode"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1181"/>
  7 + </dependencies>
  8 + <scenes>
  9 + <!--Registration View Controller - Second-->
  10 + <scene sceneID="13">
  11 + <objects>
  12 + <placeholder placeholderIdentifier="IBFirstResponder" id="12" sceneMemberID="firstResponder"/>
  13 + <viewController title="Second" id="3" customClass="RegistrationViewController" sceneMemberID="viewController">
  14 + <view key="view" contentMode="scaleToFill" id="17" userLabel="Registration View" customClass="UIControl">
  15 + <rect key="frame" x="0.0" y="20" width="320" height="411"/>
  16 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  17 + <subviews>
  18 + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" id="QdX-Yl-S97" userLabel="Username Field">
  19 + <rect key="frame" x="112" y="72" width="188" height="31"/>
  20 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  21 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  22 + <textInputTraits key="textInputTraits" returnKeyType="done"/>
  23 + <connections>
  24 + <action selector="endedEditing:" destination="3" eventType="editingDidEndOnExit" id="8la-Wb-Agn"/>
  25 + </connections>
  26 + </textField>
  27 + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Username:" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" id="mF3-Tn-NzO">
  28 + <rect key="frame" x="20" y="76" width="84" height="21"/>
  29 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  30 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  31 + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
  32 + <nil key="highlightedColor"/>
  33 + </label>
  34 + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" id="lc0-VT-DCr" userLabel="Password Field">
  35 + <rect key="frame" x="112" y="105" width="188" height="31"/>
  36 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  37 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  38 + <textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/>
  39 + <connections>
  40 + <action selector="endedEditing:" destination="3" eventType="editingDidEndOnExit" id="1nJ-AH-GWI"/>
  41 + </connections>
  42 + </textField>
  43 + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Password:" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" id="QRK-dw-vzP">
  44 + <rect key="frame" x="20" y="110" width="84" height="21"/>
  45 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  46 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  47 + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
  48 + <nil key="highlightedColor"/>
  49 + </label>
  50 + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Please Login or Sign Up Below" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" id="3D1-FH-ell">
  51 + <rect key="frame" x="20" y="20" width="236" height="21"/>
  52 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  53 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  54 + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
  55 + <nil key="highlightedColor"/>
  56 + </label>
  57 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="fj9-CA-EkM">
  58 + <rect key="frame" x="100" y="155" width="120" height="37"/>
  59 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  60 + <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
  61 + <state key="normal" title="Login">
  62 + <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
  63 + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
  64 + </state>
  65 + <state key="highlighted">
  66 + <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  67 + </state>
  68 + <connections>
  69 + <action selector="login:" destination="3" eventType="touchUpInside" id="FVW-te-WUm"/>
  70 + </connections>
  71 + </button>
  72 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="kOk-jQ-Iie">
  73 + <rect key="frame" x="100" y="200" width="120" height="37"/>
  74 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  75 + <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
  76 + <state key="normal" title="Sign Up">
  77 + <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
  78 + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
  79 + </state>
  80 + <state key="highlighted">
  81 + <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  82 + </state>
  83 + <connections>
  84 + <action selector="signUp:" destination="3" eventType="touchUpInside" id="3ZA-LY-3aL"/>
  85 + </connections>
  86 + </button>
  87 + </subviews>
  88 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
  89 + <connections>
  90 + <action selector="resignKeyboard" destination="3" eventType="touchDown" id="uCs-TM-Z8X"/>
  91 + </connections>
  92 + </view>
  93 + <tabBarItem key="tabBarItem" title="Login" image="first.png" id="6"/>
  94 + <connections>
  95 + <outlet property="loginButton" destination="fj9-CA-EkM" id="4Yw-ub-Mpe"/>
  96 + <outlet property="passwordField" destination="lc0-VT-DCr" id="NpD-jQ-92S"/>
  97 + <outlet property="registrationView" destination="17" id="hT2-ya-unK"/>
  98 + <outlet property="signUpButton" destination="kOk-jQ-Iie" id="5Gh-IN-0JV"/>
  99 + <outlet property="usernameField" destination="QdX-Yl-S97" id="Zkx-vt-bGG"/>
  100 + <outlet property="viewTitle" destination="3D1-FH-ell" id="Fci-Ov-2Ck"/>
  101 + <outletCollection property="itemsToHideOnLogin" destination="mF3-Tn-NzO" id="itF-lg-4Uf"/>
  102 + <outletCollection property="itemsToHideOnLogin" destination="QRK-dw-vzP" id="bVC-d6-A49"/>
  103 + <outletCollection property="itemsToHideOnLogin" destination="kOk-jQ-Iie" id="9M6-Dn-aWH"/>
  104 + <outletCollection property="itemsToHideOnLogin" destination="QdX-Yl-S97" id="P3D-Hl-7nC"/>
  105 + <outletCollection property="itemsToHideOnLogin" destination="lc0-VT-DCr" id="Ulf-qv-JHV"/>
  106 + </connections>
  107 + </viewController>
  108 + </objects>
  109 + <point key="canvasLocation" x="685" y="-224"/>
  110 + </scene>
  111 + <!--Recent Posts Table View Controller - Recent Posts-->
  112 + <scene sceneID="JvB-xN-cSR">
  113 + <objects>
  114 + <placeholder placeholderIdentifier="IBFirstResponder" id="TWc-kL-1Pi" userLabel="First Responder" sceneMemberID="firstResponder"/>
  115 + <tableViewController id="tVF-JX-CJF" customClass="RecentPostsTableViewController" sceneMemberID="viewController">
  116 + <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="q6K-fZ-zoG">
  117 + <rect key="frame" x="0.0" y="64" width="320" height="367"/>
  118 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  119 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  120 + <prototypes>
  121 + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="PostCell" textLabel="R02-W4-GFh" detailTextLabel="NTt-mg-Sxb" style="IBUITableViewCellStyleSubtitle" id="S8G-gD-BLR">
  122 + <rect key="frame" x="0.0" y="22" width="320" height="44"/>
  123 + <autoresizingMask key="autoresizingMask"/>
  124 + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
  125 + <rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
  126 + <autoresizingMask key="autoresizingMask"/>
  127 + <subviews>
  128 + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="R02-W4-GFh">
  129 + <rect key="frame" x="10" y="2" width="38" height="22"/>
  130 + <autoresizingMask key="autoresizingMask"/>
  131 + <fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
  132 + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
  133 + <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
  134 + </label>
  135 + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Subtitle" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="NTt-mg-Sxb">
  136 + <rect key="frame" x="10" y="24" width="47" height="18"/>
  137 + <autoresizingMask key="autoresizingMask"/>
  138 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  139 + <color key="textColor" red="0.50196078431372548" green="0.50196078431372548" blue="0.50196078431372548" alpha="1" colorSpace="calibratedRGB"/>
  140 + <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
  141 + </label>
  142 + </subviews>
  143 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
  144 + </view>
  145 + </tableViewCell>
  146 + </prototypes>
  147 + </tableView>
  148 + <navigationItem key="navigationItem" title="Recent Posts" id="GfT-Fq-fTQ">
  149 + <barButtonItem key="rightBarButtonItem" id="Jet-UN-NEV">
  150 + <button key="customView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="ZD1-8c-wtj">
  151 + <rect key="frame" x="265" y="5" width="50" height="33"/>
  152 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  153 + <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
  154 + <state key="normal" title="New">
  155 + <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
  156 + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
  157 + </state>
  158 + <state key="highlighted">
  159 + <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  160 + </state>
  161 + <connections>
  162 + <segue destination="a81-e7-jTS" kind="push" id="CMb-vs-vla"/>
  163 + </connections>
  164 + </button>
  165 + </barButtonItem>
  166 + </navigationItem>
  167 + </tableViewController>
  168 + </objects>
  169 + <point key="canvasLocation" x="1224" y="215"/>
  170 + </scene>
  171 + <!--New Post View Controller - New Post-->
  172 + <scene sceneID="hHd-v4-ACg">
  173 + <objects>
  174 + <placeholder placeholderIdentifier="IBFirstResponder" id="vbi-IP-xB2" userLabel="First Responder" sceneMemberID="firstResponder"/>
  175 + <viewController storyboardIdentifier="NewPost" id="a81-e7-jTS" customClass="NewPostViewController" sceneMemberID="viewController">
  176 + <view key="view" contentMode="scaleToFill" id="QM8-No-FZ2">
  177 + <rect key="frame" x="0.0" y="64" width="320" height="367"/>
  178 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  179 + <subviews>
  180 + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="Enter your post here!" id="Uzg-FQ-PGm">
  181 + <rect key="frame" x="0.0" y="0.0" width="320" height="367"/>
  182 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  183 + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
  184 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  185 + <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
  186 + <connections>
  187 + <outlet property="delegate" destination="a81-e7-jTS" id="OYh-or-bVy"/>
  188 + </connections>
  189 + </textView>
  190 + </subviews>
  191 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
  192 + </view>
  193 + <navigationItem key="navigationItem" title="New Post" id="xXs-HW-ILi">
  194 + <barButtonItem key="backBarButtonItem" title="Cancel" id="3kf-oY-pCS"/>
  195 + <barButtonItem key="rightBarButtonItem" id="Tb5-DA-wU1">
  196 + <button key="customView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="8VB-3v-lJG">
  197 + <rect key="frame" x="265" y="5" width="50" height="33"/>
  198 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  199 + <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
  200 + <state key="normal" title="Done">
  201 + <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
  202 + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
  203 + </state>
  204 + <state key="highlighted">
  205 + <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  206 + </state>
  207 + <connections>
  208 + <action selector="doneWithPost:" destination="a81-e7-jTS" eventType="touchDown" id="Xkd-UD-e9H"/>
  209 + </connections>
  210 + </button>
  211 + </barButtonItem>
  212 + </navigationItem>
  213 + <connections>
  214 + <outlet property="postTextView" destination="Uzg-FQ-PGm" id="hc5-cu-iI7"/>
  215 + </connections>
  216 + </viewController>
  217 + </objects>
  218 + <point key="canvasLocation" x="1667" y="215"/>
  219 + </scene>
  220 + <!--Navigation Controller - Recent Posts-->
  221 + <scene sceneID="1qV-pt-fge">
  222 + <objects>
  223 + <placeholder placeholderIdentifier="IBFirstResponder" id="AnK-WS-k61" userLabel="First Responder" sceneMemberID="firstResponder"/>
  224 + <navigationController definesPresentationContext="YES" id="1ge-ty-OPw" sceneMemberID="viewController">
  225 + <tabBarItem key="tabBarItem" title="Recent Posts" image="second.png" id="DLx-eQ-8go"/>
  226 + <navigationBar key="navigationBar" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="ifZ-Bb-FAQ">
  227 + <autoresizingMask key="autoresizingMask"/>
  228 + </navigationBar>
  229 + <connections>
  230 + <segue destination="tVF-JX-CJF" kind="relationship" relationship="rootViewController" id="fMm-9N-Olq"/>
  231 + </connections>
  232 + </navigationController>
  233 + </objects>
  234 + <point key="canvasLocation" x="693" y="373"/>
  235 + </scene>
  236 + <!--Tab Bar Controller-->
  237 + <scene sceneID="15">
  238 + <objects>
  239 + <placeholder placeholderIdentifier="IBFirstResponder" id="14" sceneMemberID="firstResponder"/>
  240 + <tabBarController id="4" sceneMemberID="viewController">
  241 + <nil key="simulatedBottomBarMetrics"/>
  242 + <tabBar key="tabBar" contentMode="scaleToFill" id="5">
  243 + <rect key="frame" x="0.0" y="431" width="320" height="49"/>
  244 + <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
  245 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
  246 + </tabBar>
  247 + <connections>
  248 + <segue destination="3" kind="relationship" relationship="viewControllers" id="Lrr-Qm-ILG"/>
  249 + <segue destination="1ge-ty-OPw" kind="relationship" relationship="viewControllers" id="h07-sg-y4H"/>
  250 + </connections>
  251 + </tabBarController>
  252 + </objects>
  253 + <point key="canvasLocation" x="132" y="180"/>
  254 + </scene>
  255 + </scenes>
  256 + <resources>
  257 + <image name="first.png" width="30" height="30"/>
  258 + <image name="second.png" width="30" height="30"/>
  259 + </resources>
  260 + <classes>
  261 + <class className="NewPostViewController" superclassName="UIViewController">
  262 + <source key="sourceIdentifier" type="project" relativePath="./Classes/NewPostViewController.h"/>
  263 + <relationships>
  264 + <relationship kind="outlet" name="postTextView" candidateClass="UITextView"/>
  265 + </relationships>
  266 + </class>
  267 + <class className="RecentPostsTableViewController" superclassName="UITableViewController">
  268 + <source key="sourceIdentifier" type="project" relativePath="./Classes/RecentPostsTableViewController.h"/>
  269 + </class>
  270 + <class className="RegistrationViewController" superclassName="UIViewController">
  271 + <source key="sourceIdentifier" type="project" relativePath="./Classes/RegistrationViewController.h"/>
  272 + <relationships>
  273 + <relationship kind="outlet" name="loginButton" candidateClass="UIButton"/>
  274 + <relationship kind="outlet" name="passwordField" candidateClass="UITextField"/>
  275 + <relationship kind="outlet" name="registrationView" candidateClass="UIView"/>
  276 + <relationship kind="outlet" name="signUpButton" candidateClass="UIButton"/>
  277 + <relationship kind="outlet" name="usernameField" candidateClass="UITextField"/>
  278 + <relationship kind="outlet" name="viewTitle" candidateClass="UILabel"/>
  279 + <relationship kind="outletCollection" name="itemsToHideOnLogin" candidateClass="UIView"/>
  280 + </relationships>
  281 + </class>
  282 + </classes>
  283 + <simulatedMetricsContainer key="defaultSimulatedMetrics">
  284 + <simulatedStatusBarMetrics key="statusBar"/>
  285 + <simulatedOrientationMetrics key="orientation"/>
  286 + <simulatedScreenMetrics key="destination"/>
  287 + </simulatedMetricsContainer>
  288 +</document>
14 ParsePosts/NewPostViewController.h
... ... @@ -0,0 +1,14 @@
  1 +//
  2 +// NewPostViewController.h
  3 +// ParseTest
  4 +//
  5 +// Created by David Rodriguez on 4/11/12.
  6 +// Copyright (c) 2012 Forge42. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface NewPostViewController : UIViewController <UITextViewDelegate>
  12 +@property (retain, nonatomic) IBOutlet UITextView *postTextView;
  13 +
  14 +@end
93 ParsePosts/NewPostViewController.m
... ... @@ -0,0 +1,93 @@
  1 +//
  2 +// NewPostViewController.m
  3 +// ParseTest
  4 +//
  5 +// Created by David Rodriguez on 4/11/12.
  6 +// Copyright (c) 2012 Forge42. All rights reserved.
  7 +//
  8 +
  9 +#import "NewPostViewController.h"
  10 +
  11 +@interface NewPostViewController ()
  12 +
  13 +@end
  14 +
  15 +@implementation NewPostViewController
  16 +@synthesize postTextView;
  17 +
  18 +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  19 +{
  20 + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
  21 + if (self) {
  22 + // Custom initialization
  23 + }
  24 + return self;
  25 +}
  26 +
  27 +- (void)viewDidLoad
  28 +{
  29 + [super viewDidLoad];
  30 + // Do any additional setup after loading the view.
  31 +}
  32 +
  33 +- (void)viewDidUnload
  34 +{
  35 + [self setPostTextView:nil];
  36 + [super viewDidUnload];
  37 + // Release any retained subviews of the main view.
  38 +}
  39 +
  40 +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  41 +{
  42 + return (interfaceOrientation == UIInterfaceOrientationPortrait);
  43 +}
  44 +
  45 +- (void)dealloc {
  46 + [postTextView release];
  47 + [super dealloc];
  48 +}
  49 +
  50 +#pragma mark -
  51 +#pragma mark Button Actions
  52 +
  53 +- (IBAction)doneWithPost:(id)sender {
  54 +
  55 + //remove the keyboard
  56 + [postTextView resignFirstResponder];
  57 +
  58 + // show an alert message if text field empty or it's the default text
  59 + if( [postTextView.text isEqualToString:@"Enter your post here!"] ||
  60 + [[postTextView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0 ) {
  61 +
  62 + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"New Post" message:@"Please type something in." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
  63 + [alert show];
  64 +
  65 + } else {
  66 +
  67 + //Parse: save the new post here
  68 +
  69 +
  70 + // dismiss the controller
  71 + [self.navigationController popViewControllerAnimated:YES];
  72 + }
  73 +
  74 +}
  75 +
  76 +#pragma mark -
  77 +#pragma mark UITextViewDelegate Methods
  78 +
  79 +- (void)textViewDidBeginEditing:(UITextView *)textView {
  80 + if( [textView.text isEqualToString:@"Enter your post here!"] ) {
  81 + textView.text = @"";
  82 + }
  83 +}
  84 +
  85 +- (void)textViewDidEndEditing:(UITextView *)textView {
  86 + // if string is empty or just whitespace characters
  87 + if( [[textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0 ) {
  88 + textView.text = @"Enter your post here!";
  89 + }
  90 +}
  91 +
  92 +
  93 +@end
4 ParsePosts/ParsePosts-Info.plist
@@ -24,6 +24,8 @@
24 24 <string>1.0</string>
25 25 <key>LSRequiresIPhoneOS</key>
26 26 <true/>
  27 + <key>UIMainStoryboardFile</key>
  28 + <string>MainStoryboard_iPhone</string>
27 29 <key>UIRequiredDeviceCapabilities</key>
28 30 <array>
29 31 <string>armv7</string>
@@ -31,8 +33,6 @@
31 33 <key>UISupportedInterfaceOrientations</key>
32 34 <array>
33 35 <string>UIInterfaceOrientationPortrait</string>
34   - <string>UIInterfaceOrientationLandscapeLeft</string>
35   - <string>UIInterfaceOrientationLandscapeRight</string>
36 36 </array>
37 37 </dict>
38 38 </plist>
18 ParsePosts/RecentPostsTableViewController.h
... ... @@ -0,0 +1,18 @@
  1 +//
  2 +// RecentPostsTableViewController.h
  3 +// ParseTest
  4 +//
  5 +// Created by David Rodriguez on 4/11/12.
  6 +// Copyright (c) 2012 Forge42. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface RecentPostsTableViewController : UITableViewController
  12 +{
  13 + NSArray *posts;
  14 +}
  15 +
  16 +@property(retain, nonatomic) NSArray *posts;
  17 +
  18 +@end
76 ParsePosts/RecentPostsTableViewController.m
... ... @@ -0,0 +1,76 @@
  1 +//
  2 +// RecentPostsTableViewController.m
  3 +// ParseTest
  4 +//
  5 +// Created by David Rodriguez on 4/11/12.
  6 +// Copyright (c) 2012 Forge42. All rights reserved.
  7 +//
  8 +
  9 +#import "RecentPostsTableViewController.h"
  10 +
  11 +@interface RecentPostsTableViewController ()
  12 +
  13 +@end
  14 +
  15 +@implementation RecentPostsTableViewController
  16 +@synthesize posts;
  17 +
  18 +- (id)initWithStyle:(UITableViewStyle)style
  19 +{
  20 + self = [super initWithStyle:style];
  21 + if (self) {
  22 + // Custom initialization
  23 + [self setPosts:[NSArray array]]; // setup the empty posts array
  24 + }
  25 + return self;
  26 +}
  27 +
  28 +- (void)viewDidLoad
  29 +{
  30 + [super viewDidLoad];
  31 +
  32 + // Uncomment the following line to preserve selection between presentations.
  33 + // self.clearsSelectionOnViewWillAppear = NO;
  34 +
  35 + // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
  36 + // self.navigationItem.rightBarButtonItem = self.editButtonItem;
  37 +}
  38 +
  39 +- (void)viewDidUnload
  40 +{
  41 + [super viewDidUnload];
  42 + // Release any retained subviews of the main view.
  43 + // e.g. self.myOutlet = nil;
  44 +}
  45 +
  46 +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  47 +{
  48 + return (interfaceOrientation == UIInterfaceOrientationPortrait);
  49 +}
  50 +
  51 +- (void)dealloc {
  52 +
  53 + [self setPosts:nil];
  54 +
  55 + [super dealloc];
  56 +}
  57 +
  58 +#pragma mark - Table view data source
  59 +
  60 +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  61 +{
  62 + // Return the number of rows in the section.
  63 + return [posts count];
  64 +}
  65 +
  66 +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  67 +{
  68 + static NSString *CellIdentifier = @"PostCell";
  69 + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  70 +
  71 + // Configure the cell...
  72 +
  73 + return cell;
  74 +}
  75 +
  76 +@end
22 ParsePosts/RegistrationViewController.h
... ... @@ -0,0 +1,22 @@
  1 +//
  2 +// SecondViewController.h
  3 +// ParseTest
  4 +//
  5 +// Created by David Rodriguez on 4/11/12.
  6 +// Copyright (c) 2012 Forge42. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface RegistrationViewController : UIViewController
  12 +
  13 +@property (retain, nonatomic) IBOutlet UITextField *usernameField;
  14 +@property (retain, nonatomic) IBOutlet UITextField *passwordField;
  15 +@property (retain, nonatomic) IBOutlet UIView *registrationView;
  16 +@property (retain, nonatomic) IBOutlet UIButton *signUpButton;
  17 +@property (retain, nonatomic) IBOutlet UIButton *loginButton;
  18 +@property (retain, nonatomic) IBOutlet UILabel *viewTitle;
  19 +
  20 +@property (retain, nonatomic) IBOutletCollection(UIView) NSArray *itemsToHideOnLogin;
  21 +
  22 +@end
124 ParsePosts/RegistrationViewController.m
... ... @@ -0,0 +1,124 @@
  1 +//
  2 +// SecondViewController.m
  3 +// ParseTest
  4 +//
  5 +// Created by David Rodriguez on 4/11/12.
  6 +// Copyright (c) 2012 Forge42. All rights reserved.
  7 +//
  8 +
  9 +#import "RegistrationViewController.h"
  10 +
  11 +@interface RegistrationViewController ()
  12 +
  13 +@end
  14 +
  15 +@implementation RegistrationViewController
  16 +@synthesize usernameField;
  17 +@synthesize passwordField;
  18 +@synthesize registrationView;
  19 +@synthesize signUpButton;
  20 +@synthesize loginButton;
  21 +@synthesize viewTitle;
  22 +@synthesize itemsToHideOnLogin;
  23 +
  24 +- (void)viewDidLoad
  25 +{
  26 + [super viewDidLoad];
  27 + // Do any additional setup after loading the view, typically from a nib.
  28 +
  29 + if( false ) { // check if user is logged in here
  30 + [self loginSuccessful];
  31 + }
  32 +}
  33 +
  34 +- (void)viewDidUnload
  35 +{
  36 + [self setUsernameField:nil];
  37 + [self setPasswordField:nil];
  38 + [self setRegistrationView:nil];
  39 + [self setSignUpButton:nil];
  40 + [self setLoginButton:nil];
  41 + [self setViewTitle:nil];
  42 + [self setItemsToHideOnLogin:nil];
  43 + [super viewDidUnload];
  44 + // Release any retained subviews of the main view.
  45 +}
  46 +
  47 +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  48 +{
  49 + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
  50 + return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
  51 + } else {
  52 + return YES;
  53 + }
  54 +}
  55 +
  56 +- (void)dealloc {
  57 + [usernameField release];
  58 + [passwordField release];
  59 + [registrationView release];
  60 + [signUpButton release];
  61 + [loginButton release];
  62 + [viewTitle release];
  63 + [itemsToHideOnLogin release];
  64 + [super dealloc];
  65 +}
  66 +
  67 +#pragma mark -
  68 +#pragma mark Login/Logout Actions
  69 +
  70 +- (void)loginSuccessful {
  71 + [loginButton setTitle:@"Logout" forState:UIControlStateNormal];
  72 +
  73 + for( UIView *item in itemsToHideOnLogin ) {
  74 + [item setHidden:YES];
  75 + }
  76 +
  77 + viewTitle.text = [NSString stringWithFormat:@"Welcome %@!", @"Username"]; //Parse: set the user's username here
  78 +
  79 +}
  80 +
  81 +- (void)logoutSuccessful {
  82 + [loginButton setTitle:@"Login" forState:UIControlStateNormal];
  83 +
  84 + for( UIView *item in itemsToHideOnLogin ) {
  85 + [item setHidden:NO];
  86 + }
  87 +
  88 + viewTitle.text = [NSString stringWithFormat:@"Please Login or Sign Up Below"];
  89 +}
  90 +
  91 +- (IBAction)login:(id)sender {
  92 +
  93 + if( false ) { // check if user is logged in here
  94 + [self logoutSuccessful];
  95 + } else {
  96 +
  97 + //Parse: login code goes here
  98 +
  99 + [self resignKeyboard];
  100 + [self loginSuccessful];
  101 + }
  102 +}
  103 +
  104 +- (IBAction)signUp:(id)sender {
  105 +
  106 + //Parse: sign up code goes here
  107 +
  108 + [self resignKeyboard];
  109 + [self loginSuccessful];
  110 +}
  111 +
  112 +#pragma mark -
  113 +#pragma mark Keyboard Actions
  114 +
  115 +- (IBAction)resignKeyboard {
  116 + [usernameField resignFirstResponder];
  117 + [passwordField resignFirstResponder];
  118 +}
  119 +
  120 +- (IBAction)endedEditing:(id)sender {
  121 + [self resignFirstResponder];
  122 +}
  123 +
  124 +@end
BIN  ParsePosts/first.png
BIN  ParsePosts/first@2x.png
BIN  ParsePosts/iTunesArtwork
Binary file not shown
BIN  ParsePosts/second.png
BIN  ParsePosts/second@2x.png

0 comments on commit 813bf79

Please sign in to comment.
Something went wrong with that request. Please try again.