Skip to content
Browse files

Add FeedController and update app delegate to load the feed in a sepa…

…rate thread while the splash screen is displayed
  • Loading branch information...
1 parent 642516f commit dd47d69c8fdb814e2999284c4a3eed57d06ba8f1 @marcel committed Jul 17, 2008
View
29 Classes/FeedController.h
@@ -0,0 +1,29 @@
+//
+// FeedController.h
+// GitHub
+//
+// Created by Marcel Molina Jr on 7/16/08.
+// Copyright 2008 InfoEther. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "FeedParser.h"
+@protocol FeedControllerDelegate <NSObject>
+@optional
+- (void)parser:(FeedParser *)parser
+didFinishLoading:(NSURL *)feedURL
+ result:(NSMutableArray *)result;
+@end
+
+@interface FeedController : NSObject {
+ FeedParser *parser;
+ id<FeedControllerDelegate> delegate;
+}
+@property (nonatomic, retain) FeedParser *parser;
+@property (nonatomic, retain) id<FeedControllerDelegate> delegate;
++ (FeedController *)loadFeed:(NSURL *)feedURL delegate:(id<FeedControllerDelegate>)theDelegate;
+- (id)initWithFeedURL:(NSURL *)feedURL delegate:(id<FeedControllerDelegate>)theDelegate;
+- (void)load;
+@end
+
+
View
41 Classes/FeedController.m
@@ -0,0 +1,41 @@
+//
+// FeedController.m
+// GitHub
+//
+// Created by Marcel Molina Jr on 7/16/08.
+// Copyright 2008 InfoEther. All rights reserved.
+//
+
+#import "FeedController.h"
+
+
+@implementation FeedController
+@synthesize parser;
+@synthesize delegate;
+
++ (FeedController *)loadFeed:(NSURL *)feedURL
+ delegate:(id<FeedControllerDelegate>)theDelegate
+{
+ FeedController *controller = [[self alloc] initWithFeedURL:feedURL
+ delegate:theDelegate];
+ [controller load];
+ return [controller autorelease];
+}
+- (id)initWithFeedURL:(NSURL *)feedURL
+ delegate:(id<FeedControllerDelegate>)theDelegate
+{
+ if (self = [super init]) {
+ self.delegate = theDelegate;
+ self.parser = [[FeedParser alloc] initWithFeedURL:feedURL];
+ }
+ return self;
+}
+
+- (void)load
+{
+ [parser parse];
+ [delegate parser:parser
+ didFinishLoading:parser.url
+ result:parser.newsFeedItems];
+}
+@end
View
2 Classes/FeedParser.h
@@ -21,6 +21,8 @@
@property (nonatomic, retain) NSXMLParser *parser;
@property (nonatomic, retain) NSURL *url;
@property (nonatomic, retain) NSMutableArray *newsFeedItems;
++ (FeedParser *)feedParserForFeed:(NSURL *)feedURL;
- (id)initWithFeedURL:(NSURL *)feedURL;
- (BOOL)parse;
@end
+
View
67 Classes/FeedParser.m
@@ -9,35 +9,43 @@
#import "FeedParser.h"
@interface FeedParser (PrivateMethods)
-- (void)initializeParser;
-- (void)resetCurrentStringValue;
+- (void)_initializeParser;
+- (void)_resetCurrentStringValue;
@end
@implementation FeedParser
@synthesize parser;
@synthesize url;
@synthesize newsFeedItems;
++ (FeedParser *)feedParserForFeed:(NSURL *)feedURL
+{
+ return [[[self alloc] initWithFeedURL:feedURL] autorelease];
+}
-- (id)initWithFeedURL:(NSURL *)feedURL {
- if (self = [super init]) {
- self.url = feedURL;
- self.newsFeedItems = [[NSMutableArray alloc] init];
- elementsWithContent = [[NSArray alloc] initWithObjects:@"id",
- @"published",
- @"title",
- @"content",
- @"name",
- nil];
- [self initializeParser];
- withinEntryElement = NO;
- }
- return self;
+- (id)initWithFeedURL:(NSURL *)feedURL
+{
+ if (self = [super init]) {
+ self.url = feedURL;
+ self.newsFeedItems = [[NSMutableArray alloc] init];
+ elementsWithContent = [[NSArray alloc] initWithObjects:@"id",
+ @"published",
+ @"title",
+ @"content",
+ @"name",
+ nil];
+ [self _initializeParser];
+ withinEntryElement = NO;
+ }
+ return self;
}
-- (void)initializeParser {
- self.parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
- parser.delegate = self;
- parser.shouldResolveExternalEntities = YES;
+- (void)_initializeParser
+{
+ self.parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
+ parser.delegate = self;
+ parser.shouldResolveExternalEntities = NO;
+ parser.shouldReportNamespacePrefixes = NO;
+ parser.shouldProcessNamespaces = NO;
}
- (BOOL)parse {
@@ -60,7 +68,8 @@ - (void)parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qualifiedName
- attributes:(NSDictionary *)attributeDict {
+ attributes:(NSDictionary *)attributeDict
+{
if ([elementName isEqualToString:@"entry"]) {
currentNewsFeedItem = [[NewsFeedItem alloc] init];
@@ -82,8 +91,9 @@ - (void)parser:(NSXMLParser *)parser
}
}
-- (void)parser:(NSXMLParser *)parser
-foundCharacters:(NSString *)string {
+- (void)parser:(NSXMLParser *)parser
+foundCharacters:(NSString *)string
+{
if (!withinEntryElement) {
return;
}
@@ -97,7 +107,8 @@ - (void)parser:(NSXMLParser *)parser
- (void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
- qualifiedName:(NSString *)qName {
+ qualifiedName:(NSString *)qName
+{
if (!withinEntryElement) {
return;
}
@@ -132,19 +143,21 @@ - (void)parser:(NSXMLParser *)parser
}
if ([elementsWithContent containsObject:elementName]) {
- [self resetCurrentStringValue];
+ [self _resetCurrentStringValue];
}
}
-- (void)resetCurrentStringValue {
+- (void)_resetCurrentStringValue
+{
if (currentStringValue) {
[currentStringValue release];
}
currentStringValue = nil;
}
-- (void)dealloc {
+- (void)dealloc
+{
[url release];
[parser release];
[newsFeedItems release];
View
13 Classes/GitHubAppDelegate.h
@@ -7,13 +7,20 @@
//
#import <UIKit/UIKit.h>
+#import "SplashScreenViewController.h"
+#import "FeedController.h"
-@interface GitHubAppDelegate : NSObject <UIApplicationDelegate> {
+@interface GitHubAppDelegate : NSObject <UIApplicationDelegate, FeedControllerDelegate> {
IBOutlet UIWindow *window;
- IBOutlet UINavigationController *navigationController;
+ IBOutlet SplashScreenViewController *splashScreenViewController;
+ NSURL *_feedURL;
}
@property (nonatomic, retain) UIWindow *window;
-@property (nonatomic, retain) UINavigationController *navigationController;
+@property (nonatomic, retain) SplashScreenViewController *splashScreenViewController;
+- (void)startLoadingNewsFeed;
+- (BOOL)isLoggedIn;
+- (NSURL *)feedURL;
+- (NSString *)loggedInUser;
@end
View
62 Classes/GitHubAppDelegate.m
@@ -9,27 +9,73 @@
#import "GitHubAppDelegate.h"
#import "NewsFeedItem.h"
#import "SplashScreenViewController.h"
+#define PUBLIC_NEWS_FEED_URL @"http://github.com/news.atom"
+#define USER_NEEDS_FEED_URL @"http://github.com/%@.atom"
@implementation GitHubAppDelegate
-
+@synthesize splashScreenViewController;
@synthesize window;
-@synthesize navigationController;
-- (void)applicationDidFinishLaunching:(UIApplication *)application {
- SplashScreenViewController *splashScreenViewController;
- splashScreenViewController = [[SplashScreenViewController alloc] initWithNibName:@"SplashScreenView"
- bundle:nil];
- [window addSubview:[navigationController view]];
+- (void)applicationDidFinishLaunching:(UIApplication *)application
+{
+ [NSThread detachNewThreadSelector:@selector(startLoadingNewsFeed)
+ toTarget:self
+ withObject:nil];
+
[window addSubview:[splashScreenViewController view]];
[window makeKeyAndVisible];
}
+- (void)startLoadingNewsFeed
+{
+ NSAutoreleasePool* autoreleasePool = [[NSAutoreleasePool alloc] init];
+
+ NSLog(@"Starting to load the feed");
+ [FeedController loadFeed:[self feedURL]
+ delegate:self];
+
+ [autoreleasePool release];
+}
+
+- (void)parser:(FeedParser *)parser
+didFinishLoading:(NSURL *)feedURL
+ result:(NSMutableArray *)result
+{
+ NSLog(@"Feed has been loaded");
+}
+
+- (BOOL)isLoggedIn
+{
+ return NO;
+}
+
+- (NSURL *)feedURL
+{
+ if (_feedURL == nil) {
+ if ([self isLoggedIn]) {
+ _feedURL = [NSURL URLWithString:[NSString
+ stringWithFormat:USER_NEEDS_FEED_URL,
+ [self loggedInUser]]];
+ } else {
+ _feedURL = [NSURL URLWithString:PUBLIC_NEWS_FEED_URL];
+ }
+ }
+ return _feedURL;
+}
+
+- (NSString *)loggedInUser
+{
+ // XXX stubbed for now
+ return @"marcel";
+}
- (void)applicationWillTerminate:(UIApplication *)application {
// Save data if appropriate
}
-- (void)dealloc {
+- (void)dealloc
+{
+ [splashScreenViewController release];
[window release];
[super dealloc];
}
View
5 Classes/NewsFeedTableViewController.h
@@ -10,10 +10,7 @@
@interface NewsFeedTableViewController : UITableViewController {
NSMutableArray *newsFeedItems;
- NSURL *_feedURL;
}
@property (nonatomic, retain) NSMutableArray *newsFeedItems;
-- (BOOL)isLoggedIn;
-- (NSURL *)feedURL;
-- (NSString *)loggedInUser;
+
@end
View
29 Classes/NewsFeedTableViewController.m
@@ -13,9 +13,6 @@
#import "NewsFeedItemCell.h"
#import "NewsFeedItemDetailViewController.h"
-#define PublicNewsFeedURL @"http://github.com/news.atom"
-#define UserNewsFeedURL @"http://github.com/%@.atom"
-
@implementation NewsFeedTableViewController
@synthesize newsFeedItems;
@@ -27,32 +24,15 @@ - (id)initWithCoder:(NSCoder *)coder {
}
- (void)viewDidLoad {
+ /*
FeedParser *parser;
- parser = [[FeedParser alloc] initWithFeedURL:[self feedURL]];
+ parser = [[FeedParser parserForFeedURL:[self feedURL] delegate:nil];
[parser parse];
NSLog(@"News feed items: %@", [parser newsFeedItems]);
[newsFeedItems addObjectsFromArray:[parser newsFeedItems]];
+ */
}
-- (BOOL)isLoggedIn {
- return NO;
-}
-
-- (NSURL *)feedURL {
- if (_feedURL == nil) {
- if ([self isLoggedIn]) {
- _feedURL = [NSURL URLWithString:[NSString stringWithFormat:UserNewsFeedURL, [self loggedInUser]]];
- } else {
- _feedURL = [NSURL URLWithString:PublicNewsFeedURL];
- }
- }
- return _feedURL;
-}
-
-- (NSString *)loggedInUser {
- // XXX stubbed for now
- return @"marcel";
-}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
@@ -169,9 +149,6 @@ - (void)didReceiveMemoryWarning {
- (void)dealloc {
- if (_feedURL) {
- [_feedURL release];
- }
[newsFeedItems release];
[super dealloc];
}
View
12 Classes/SplashScreenViewController.m
@@ -18,12 +18,6 @@ - (void)loadView {
}
*/
-/*
- If you need to do additional setup after loading the view, override viewDidLoad.
-- (void)viewDidLoad {
-}
- */
-
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
@@ -37,12 +31,14 @@ - (void)didReceiveMemoryWarning {
}
-- (void)dealloc {
+- (void)dealloc
+{
[activityIndicator release];
[super dealloc];
}
-- (void)viewDidLoad {
+- (void)viewDidLoad
+{
[activityIndicator startAnimating];
}
View
161 GitHub.xcodeproj/marcel.mode1v3
@@ -267,21 +267,27 @@
<array>
<string>29B97314FDCFA39411CA2CEA</string>
<string>080E96DDFE201D6D7F000001</string>
+ <string>1FBDE02A0E2F07AC00E62718</string>
+ <string>1FBDE0280E2F074B00E62718</string>
<string>1F8DD9B20E2D720200364EA3</string>
+ <string>1FBDE0290E2F076A00E62718</string>
<string>1F8DD9B10E2D71F700364EA3</string>
<string>29B97315FDCFA39411CA2CEA</string>
<string>29B97317FDCFA39411CA2CEA</string>
<string>1FBDDFA70E2EA7DD00E62718</string>
<string>1FBDDE1E0E2DDE9700E62718</string>
<string>29B97323FDCFA39411CA2CEA</string>
+ <string>1DF5F4DF0D08C38300B7A737</string>
+ <string>1FBDDE260E2DDEAE00E62718</string>
<string>19C28FACFE9D520D11CA2CBB</string>
<string>1C37FBAC04509CD000000102</string>
<string>1C37FABC05509CD000000102</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>3</integer>
+ <integer>7</integer>
+ <integer>5</integer>
<integer>1</integer>
<integer>0</integer>
</array>
@@ -324,41 +330,44 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>SplashScreenViewController.m</string>
+ <string>FeedController.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>SplashScreenViewController.m</string>
+ <string>FeedController.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>1FBDDFCC0E2EACFB00E62718</string>
+ <string>1FBDE1180E2F1BE400E62718</string>
<key>history</key>
<array>
- <string>1FBCD03D0E2DB20A00C81C1F</string>
<string>1FBDDE2C0E2DDF0D00E62718</string>
<string>1FBDDE9F0E2E6E1E00E62718</string>
- <string>1FBDDEE90E2E83A400E62718</string>
- <string>1FBDDEF80E2E84C000E62718</string>
- <string>1FBDDF020E2E86F100E62718</string>
<string>1FBDDF3F0E2E88D700E62718</string>
<string>1FBDDF410E2E88D700E62718</string>
- <string>1FBDDF420E2E88D700E62718</string>
- <string>1FBDDF580E2E8B3800E62718</string>
<string>1FBDDF600E2E8DE100E62718</string>
<string>1FBDDF850E2E90CF00E62718</string>
- <string>1FBDDF970E2E93D400E62718</string>
- <string>1FBDDFA80E2EA7F300E62718</string>
- <string>1FBDDFA90E2EA7F300E62718</string>
<string>1FBDDFB30E2EABDE00E62718</string>
<string>1FBDDFB40E2EABDE00E62718</string>
- <string>1FBDDFC40E2EACBE00E62718</string>
- <string>1FBDDFC90E2EACFB00E62718</string>
- <string>1FBDDFCA0E2EACFB00E62718</string>
+ <string>1FBDDFE70E2F004800E62718</string>
+ <string>1FBDE0190E2F06DB00E62718</string>
+ <string>1FBDE02D0E2F092300E62718</string>
+ <string>1FBDE0310E2F092300E62718</string>
+ <string>1FBDE0740E2F0D9000E62718</string>
+ <string>1FBDE0890E2F107300E62718</string>
+ <string>1FBDE0AD0E2F14FE00E62718</string>
+ <string>1FBDE0BE0E2F161700E62718</string>
+ <string>1FBDE0E50E2F199A00E62718</string>
+ <string>1FBDE0F20E2F19F500E62718</string>
+ <string>1FBDE0F90E2F1A6200E62718</string>
+ <string>1FBDE10C0E2F1BE400E62718</string>
+ <string>1FBDE10D0E2F1BE400E62718</string>
+ <string>1FBDE10E0E2F1BE400E62718</string>
+ <string>1FBDE10F0E2F1BE400E62718</string>
</array>
<key>prevStack</key>
<array>
@@ -453,6 +462,99 @@
<string>1FBDDFC10E2EAC2400E62718</string>
<string>1FBDDFC60E2EACBE00E62718</string>
<string>1FBDDFCB0E2EACFB00E62718</string>
+ <string>1FBDDFD30E2EFCED00E62718</string>
+ <string>1FBDDFD80E2EFD3300E62718</string>
+ <string>1FBDDFE90E2F004800E62718</string>
+ <string>1FBDDFEA0E2F004800E62718</string>
+ <string>1FBDDFEF0E2F018600E62718</string>
+ <string>1FBDDFF40E2F024700E62718</string>
+ <string>1FBDDFF50E2F024700E62718</string>
+ <string>1FBDDFF60E2F024700E62718</string>
+ <string>1FBDDFFA0E2F03EA00E62718</string>
+ <string>1FBDDFFB0E2F03EA00E62718</string>
+ <string>1FBDDFFC0E2F03EA00E62718</string>
+ <string>1FBDDFFD0E2F03EA00E62718</string>
+ <string>1FBDE00C0E2F062600E62718</string>
+ <string>1FBDE00D0E2F062600E62718</string>
+ <string>1FBDE00E0E2F062600E62718</string>
+ <string>1FBDE00F0E2F062600E62718</string>
+ <string>1FBDE0100E2F062600E62718</string>
+ <string>1FBDE0110E2F062600E62718</string>
+ <string>1FBDE0120E2F062600E62718</string>
+ <string>1FBDE0130E2F062600E62718</string>
+ <string>1FBDE01C0E2F06DB00E62718</string>
+ <string>1FBDE01D0E2F06DB00E62718</string>
+ <string>1FBDE01F0E2F06DB00E62718</string>
+ <string>1FBDE0340E2F092300E62718</string>
+ <string>1FBDE0350E2F092300E62718</string>
+ <string>1FBDE0360E2F092300E62718</string>
+ <string>1FBDE0370E2F092300E62718</string>
+ <string>1FBDE0380E2F092300E62718</string>
+ <string>1FBDE0390E2F092300E62718</string>
+ <string>1FBDE03A0E2F092300E62718</string>
+ <string>1FBDE03B0E2F092300E62718</string>
+ <string>1FBDE03C0E2F092300E62718</string>
+ <string>1FBDE03D0E2F092300E62718</string>
+ <string>1FBDE0480E2F0A3B00E62718</string>
+ <string>1FBDE0650E2F0CEC00E62718</string>
+ <string>1FBDE0660E2F0CEC00E62718</string>
+ <string>1FBDE0670E2F0CEC00E62718</string>
+ <string>1FBDE0680E2F0CEC00E62718</string>
+ <string>1FBDE0690E2F0CEC00E62718</string>
+ <string>1FBDE06A0E2F0CEC00E62718</string>
+ <string>1FBDE0750E2F0D9000E62718</string>
+ <string>1FBDE0760E2F0D9000E62718</string>
+ <string>1FBDE08A0E2F107300E62718</string>
+ <string>1FBDE08D0E2F10B900E62718</string>
+ <string>1FBDE0950E2F11B600E62718</string>
+ <string>1FBDE0960E2F11B600E62718</string>
+ <string>1FBDE0970E2F11B600E62718</string>
+ <string>1FBDE0980E2F11B600E62718</string>
+ <string>1FBDE09C0E2F11D400E62718</string>
+ <string>1FBDE0B00E2F14FE00E62718</string>
+ <string>1FBDE0B10E2F14FE00E62718</string>
+ <string>1FBDE0B20E2F14FE00E62718</string>
+ <string>1FBDE0B30E2F14FE00E62718</string>
+ <string>1FBDE0B40E2F14FE00E62718</string>
+ <string>1FBDE0B50E2F14FE00E62718</string>
+ <string>1FBDE0B60E2F14FE00E62718</string>
+ <string>1FBDE0B70E2F14FE00E62718</string>
+ <string>1FBDE0B80E2F14FE00E62718</string>
+ <string>1FBDE0B90E2F14FE00E62718</string>
+ <string>1FBDE0BA0E2F14FE00E62718</string>
+ <string>1FBDE0BB0E2F14FE00E62718</string>
+ <string>1FBDE0BC0E2F14FE00E62718</string>
+ <string>1FBDE0C10E2F161700E62718</string>
+ <string>1FBDE0C20E2F161700E62718</string>
+ <string>1FBDE0C30E2F161700E62718</string>
+ <string>1FBDE0C40E2F161700E62718</string>
+ <string>1FBDE0C50E2F161700E62718</string>
+ <string>1FBDE0C60E2F161700E62718</string>
+ <string>1FBDE0C70E2F161700E62718</string>
+ <string>1FBDE0C80E2F161700E62718</string>
+ <string>1FBDE0C90E2F161700E62718</string>
+ <string>1FBDE0CA0E2F161700E62718</string>
+ <string>1FBDE0CE0E2F171A00E62718</string>
+ <string>1FBDE0CF0E2F171A00E62718</string>
+ <string>1FBDE0D00E2F171A00E62718</string>
+ <string>1FBDE0D10E2F171A00E62718</string>
+ <string>1FBDE0E20E2F18D600E62718</string>
+ <string>1FBDE0E30E2F18D600E62718</string>
+ <string>1FBDE0E70E2F199A00E62718</string>
+ <string>1FBDE0E80E2F199A00E62718</string>
+ <string>1FBDE0EF0E2F19E600E62718</string>
+ <string>1FBDE0F00E2F19E600E62718</string>
+ <string>1FBDE0F40E2F19F500E62718</string>
+ <string>1FBDE0F50E2F19F500E62718</string>
+ <string>1FBDE0FB0E2F1A6200E62718</string>
+ <string>1FBDE1100E2F1BE400E62718</string>
+ <string>1FBDE1110E2F1BE400E62718</string>
+ <string>1FBDE1120E2F1BE400E62718</string>
+ <string>1FBDE1130E2F1BE400E62718</string>
+ <string>1FBDE1140E2F1BE400E62718</string>
+ <string>1FBDE1150E2F1BE400E62718</string>
+ <string>1FBDE1160E2F1BE400E62718</string>
+ <string>1FBDE1170E2F1BE400E62718</string>
</array>
</dict>
<key>SplitCount</key>
@@ -464,14 +566,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {918, 490}}</string>
+ <string>{{0, 0}, {918, 590}}</string>
<key>RubberWindowFrame</key>
<string>8 170 1199 708 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>490pt</string>
+ <string>590pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
@@ -484,14 +586,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 495}, {918, 172}}</string>
+ <string>{{0, 595}, {918, 72}}</string>
<key>RubberWindowFrame</key>
<string>8 170 1199 708 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
<key>Proportion</key>
- <string>172pt</string>
+ <string>72pt</string>
</dict>
</array>
<key>Proportion</key>
@@ -646,6 +748,7 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>1F8DD73E0E2D5B5100364EA3</string>
<string>1FBDDE8B0E2E6CE100E62718</string>
<string>1FBDDE8C0E2E6CE100E62718</string>
<string>1CD10A99069EF8BA00B06720</string>
@@ -677,7 +780,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
- <string>NewsFeedTableViewController.m</string>
+ <string>FeedController.m</string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@@ -1489,18 +1592,22 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {500, 315}}</string>
+ <string>{{0, 0}, {706, 564}}</string>
<key>RubberWindowFrame</key>
- <string>907 963 500 356 0 0 2560 1578 </string>
+ <string>414 162 706 605 0 0 1440 878 </string>
+ <key>XCRefactoringSplitViewLowerHeight</key>
+ <real>377</real>
+ <key>XCRefactoringSplitViewTotalHeight</key>
+ <real>481</real>
</dict>
<key>Module</key>
<string>XCRefactoringModule</string>
<key>Proportion</key>
- <string>315pt</string>
+ <string>564pt</string>
</dict>
</array>
<key>Proportion</key>
- <string>315pt</string>
+ <string>564pt</string>
</dict>
</array>
<key>Name</key>
@@ -1514,11 +1621,11 @@
<key>TableOfContents</key>
<array>
<string>1F8DD73E0E2D5B5100364EA3</string>
- <string>1F8DD73F0E2D5B5100364EA3</string>
+ <string>1FBDDFDD0E2EFD9A00E62718</string>
<string>1F8DD73D0E2D5B5100364EA3</string>
</array>
<key>WindowString</key>
- <string>907 963 500 356 0 0 2560 1578 </string>
+ <string>414 162 706 605 0 0 1440 878 </string>
<key>WindowToolGUID</key>
<string>1F8DD73E0E2D5B5100364EA3</string>
<key>WindowToolIsVisible</key>
View
3,884 GitHub.xcodeproj/marcel.pbxuser
3,296 additions, 588 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
56 GitHub.xcodeproj/project.pbxproj
@@ -27,6 +27,7 @@
1FBDDFA60E2EA7C900E62718 /* SplashScreenView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1FBDDFA50E2EA7C900E62718 /* SplashScreenView.xib */; };
1FBDDFAF0E2EA94400E62718 /* text-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 1FBDDFAE0E2EA94400E62718 /* text-logo.png */; };
1FBDDFB20E2EAB9500E62718 /* SplashScreenViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FBDDFB10E2EAB9500E62718 /* SplashScreenViewController.m */; };
+ 1FBDE0270E2F074100E62718 /* FeedController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FBDE0260E2F074100E62718 /* FeedController.m */; };
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; };
2899E5600DE3E45000AC0155 /* NewsFeedTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E55F0DE3E45000AC0155 /* NewsFeedTableViewController.xib */; };
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD735F0D9D9599002E5188 /* MainWindow.xib */; };
@@ -60,6 +61,8 @@
1FBDDFAE0E2EA94400E62718 /* text-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "text-logo.png"; sourceTree = "<group>"; };
1FBDDFB00E2EAB9500E62718 /* SplashScreenViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SplashScreenViewController.h; sourceTree = "<group>"; };
1FBDDFB10E2EAB9500E62718 /* SplashScreenViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SplashScreenViewController.m; sourceTree = "<group>"; };
+ 1FBDE0250E2F074100E62718 /* FeedController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FeedController.h; sourceTree = "<group>"; };
+ 1FBDE0260E2F074100E62718 /* FeedController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FeedController.m; sourceTree = "<group>"; };
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
2899E55F0DE3E45000AC0155 /* NewsFeedTableViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NewsFeedTableViewController.xib; sourceTree = "<group>"; };
28A0AAE50D9B0CCF005BE974 /* GitHub_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GitHub_Prefix.pch; sourceTree = "<group>"; };
@@ -87,13 +90,9 @@
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
- 1FBDDFB00E2EAB9500E62718 /* SplashScreenViewController.h */,
- 1FBDDFB10E2EAB9500E62718 /* SplashScreenViewController.m */,
- 1F8DDADD0E2D832700364EA3 /* FeedParser.h */,
- 1F8DDADE0E2D832700364EA3 /* FeedParser.m */,
- 1FBDDE990E2E6DA400E62718 /* NewsFeedItemCell.h */,
- 1FBDDE980E2E6DA400E62718 /* NewsFeedItemCell.m */,
- 1F8DD9B20E2D720200364EA3 /* TableViewControllers */,
+ 1FBDE02A0E2F07AC00E62718 /* Views */,
+ 1FBDE0280E2F074B00E62718 /* Controllers */,
+ 1F8DD9B20E2D720200364EA3 /* ViewControllers */,
1F8DD9B10E2D71F700364EA3 /* Models */,
1D3623240D0F684500981E51 /* GitHubAppDelegate.h */,
1D3623250D0F684500981E51 /* GitHubAppDelegate.m */,
@@ -112,21 +111,22 @@
1F8DD9B10E2D71F700364EA3 /* Models */ = {
isa = PBXGroup;
children = (
+ 1F8DDADD0E2D832700364EA3 /* FeedParser.h */,
+ 1F8DDADE0E2D832700364EA3 /* FeedParser.m */,
1F8DD9AE0E2D71EE00364EA3 /* NewsFeedItem.h */,
1F8DD9AF0E2D71EE00364EA3 /* NewsFeedItem.m */,
);
name = Models;
sourceTree = "<group>";
};
- 1F8DD9B20E2D720200364EA3 /* TableViewControllers */ = {
+ 1F8DD9B20E2D720200364EA3 /* ViewControllers */ = {
isa = PBXGroup;
children = (
- 28C286DF0D94DF7D0034E888 /* NewsFeedTableViewController.h */,
- 28C286E00D94DF7D0034E888 /* NewsFeedTableViewController.m */,
- 1FBDDE570E2DE13200E62718 /* NewsFeedItemDetailViewController.h */,
- 1FBDDE580E2DE13200E62718 /* NewsFeedItemDetailViewController.m */,
+ 1FBDDFB00E2EAB9500E62718 /* SplashScreenViewController.h */,
+ 1FBDDFB10E2EAB9500E62718 /* SplashScreenViewController.m */,
+ 1FBDE0290E2F076A00E62718 /* Tables */,
);
- name = TableViewControllers;
+ name = ViewControllers;
sourceTree = "<group>";
};
1FBDDE1E0E2DDE9700E62718 /* Icons */ = {
@@ -156,6 +156,35 @@
name = NIBs;
sourceTree = "<group>";
};
+ 1FBDE0280E2F074B00E62718 /* Controllers */ = {
+ isa = PBXGroup;
+ children = (
+ 1FBDE0250E2F074100E62718 /* FeedController.h */,
+ 1FBDE0260E2F074100E62718 /* FeedController.m */,
+ );
+ name = Controllers;
+ sourceTree = "<group>";
+ };
+ 1FBDE0290E2F076A00E62718 /* Tables */ = {
+ isa = PBXGroup;
+ children = (
+ 28C286DF0D94DF7D0034E888 /* NewsFeedTableViewController.h */,
+ 28C286E00D94DF7D0034E888 /* NewsFeedTableViewController.m */,
+ 1FBDDE570E2DE13200E62718 /* NewsFeedItemDetailViewController.h */,
+ 1FBDDE580E2DE13200E62718 /* NewsFeedItemDetailViewController.m */,
+ );
+ name = Tables;
+ sourceTree = "<group>";
+ };
+ 1FBDE02A0E2F07AC00E62718 /* Views */ = {
+ isa = PBXGroup;
+ children = (
+ 1FBDDE990E2E6DA400E62718 /* NewsFeedItemCell.h */,
+ 1FBDDE980E2E6DA400E62718 /* NewsFeedItemCell.m */,
+ );
+ name = Views;
+ sourceTree = "<group>";
+ };
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
@@ -277,6 +306,7 @@
1FBDDE590E2DE13200E62718 /* NewsFeedItemDetailViewController.m in Sources */,
1FBDDE9A0E2E6DA400E62718 /* NewsFeedItemCell.m in Sources */,
1FBDDFB20E2EAB9500E62718 /* SplashScreenViewController.m in Sources */,
+ 1FBDE0270E2F074100E62718 /* FeedController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
View
113 MainWindow.xib
@@ -8,7 +8,6 @@
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="13"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -36,37 +35,9 @@
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
</object>
- <object class="IBUINavigationController" id="289947463">
- <object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics">
- <int key="IBUIBarStyle">1</int>
- <bool key="IBUIPrompted">NO</bool>
- </object>
+ <object class="IBUIViewController" id="642096804">
+ <string key="IBUINibName">SplashScreenView</string>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
- <object class="IBUINavigationBar" key="IBUINavigationBar" id="64159654">
- <nil key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{0, -44}, {0, 44}}</string>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <bool key="IBUIMultipleTouchEnabled">YES</bool>
- <int key="IBUIBarStyle">1</int>
- </object>
- <object class="NSArray" key="IBUIViewControllers">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBUIViewController" id="619226028">
- <object class="IBUINavigationItem" key="IBUINavigationItem" id="13259806">
- <reference key="IBUINavigationBar"/>
- <string key="IBUITitle">GitHub News Feed</string>
- <object class="IBUIBarButtonItem" key="IBUIRightBarButtonItem" id="37806655">
- <int key="IBUIStyle">1</int>
- <int key="IBUISystemItemIdentifier">13</int>
- </object>
- </object>
- <reference key="IBUIParentViewController" ref="289947463"/>
- <string key="IBUINibName">NewsFeedTableViewController</string>
- <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
- </object>
- </object>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
@@ -90,11 +61,11 @@
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">navigationController</string>
+ <string key="label">splashScreenViewController</string>
<reference key="source" ref="664661524"/>
- <reference key="destination" ref="289947463"/>
+ <reference key="destination" ref="642096804"/>
</object>
- <int key="connectionID">61</int>
+ <int key="connectionID">73</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
@@ -133,43 +104,13 @@
<reference key="parent" ref="957960031"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">57</int>
- <reference key="object" ref="289947463"/>
+ <int key="objectID">66</int>
+ <reference key="object" ref="642096804"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="64159654"/>
- <reference ref="619226028"/>
</object>
<reference key="parent" ref="957960031"/>
</object>
- <object class="IBObjectRecord">
- <int key="objectID">59</int>
- <reference key="object" ref="64159654"/>
- <reference key="parent" ref="289947463"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">13</int>
- <reference key="object" ref="619226028"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="13259806"/>
- </object>
- <reference key="parent" ref="289947463"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">34</int>
- <reference key="object" ref="13259806"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="37806655"/>
- </object>
- <reference key="parent" ref="619226028"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">62</int>
- <reference key="object" ref="37806655"/>
- <reference key="parent" ref="13259806"/>
- </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -178,26 +119,18 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
- <string>13.CustomClassName</string>
- <string>13.IBEditorWindowLastContentRect</string>
- <string>13.IBPluginDependency</string>
<string>2.IBAttributePlaceholdersKey</string>
<string>2.IBEditorWindowLastContentRect</string>
<string>2.IBPluginDependency</string>
<string>3.CustomClassName</string>
<string>3.IBPluginDependency</string>
- <string>57.IBEditorWindowLastContentRect</string>
- <string>57.IBPluginDependency</string>
- <string>59.IBPluginDependency</string>
- <string>62.IBPluginDependency</string>
+ <string>66.CustomClassName</string>
+ <string>66.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UIApplication</string>
<string>UIResponder</string>
- <string>NewsFeedTableViewController</string>
- <string>{{105, 285}, {320, 480}}</string>
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<object class="NSMutableDictionary">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
@@ -211,9 +144,7 @@
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>GitHubAppDelegate</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string>{{126, 262}, {320, 480}}</string>
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>SplashScreenViewController</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
@@ -237,7 +168,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">65</int>
+ <int key="maxID">73</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -249,12 +180,12 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>navigationController</string>
+ <string>splashScreenViewController</string>
<string>window</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>UINavigationController</string>
+ <string>SplashScreenViewController</string>
<string>UIWindow</string>
</object>
</object>
@@ -264,19 +195,15 @@
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">NewsFeedTableViewController</string>
- <string key="superclassName">UITableViewController</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/NewsFeedTableViewController.h</string>
+ <string key="className">SplashScreenViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">activityIndicator</string>
+ <string key="NS.object.0">UIActivityIndicatorView</string>
</object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NewsFeedTableViewController</string>
- <string key="superclassName">UITableViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBUserSource</string>
- <string key="minorKey"/>
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Classes/SplashScreenViewController.h</string>
</object>
</object>
</object>
View
79 NewsFeedTableViewController.xib
@@ -21,23 +21,34 @@
<object class="IBProxyObject" id="500153577">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
- <object class="IBUITableView" id="708052741">
- <nil key="NSNextResponder"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrameSize">{320, 460}</string>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MQA</bytes>
+ <object class="IBUIViewController" id="682247244">
+ <object class="IBUITableView" key="IBUIView" id="708052741">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrameSize">{320, 460}</string>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <int key="IBUISeparatorStyle">1</int>
+ <int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
+ <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
+ <float key="IBUIRowHeight">8.000000e+01</float>
+ <float key="IBUISectionHeaderHeight">2.700000e+01</float>
+ <float key="IBUISectionFooterHeight">2.700000e+01</float>
+ </object>
+ <object class="IBUINavigationItem" key="IBUINavigationItem" id="352248657">
+ <string key="IBUITitle">GitHub News Feed</string>
+ <object class="IBUIBarButtonItem" key="IBUIRightBarButtonItem" id="167643285">
+ <int key="IBUIStyle">1</int>
+ <int key="IBUISystemItemIdentifier">13</int>
+ </object>
</object>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
- <int key="IBUISeparatorStyle">1</int>
- <int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
- <bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
- <float key="IBUIRowHeight">8.000000e+01</float>
- <float key="IBUISectionHeaderHeight">2.700000e+01</float>
- <float key="IBUISectionFooterHeight">2.700000e+01</float>
+ <string key="IBUINibName">NewsFeedTableViewController</string>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
@@ -99,9 +110,33 @@
<reference key="parent" ref="360949347"/>
</object>
<object class="IBObjectRecord">
+ <int key="objectID">9</int>
+ <reference key="object" ref="682247244"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="352248657"/>
+ <reference ref="708052741"/>
+ </object>
+ <reference key="parent" ref="360949347"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">10</int>
+ <reference key="object" ref="352248657"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="167643285"/>
+ </object>
+ <reference key="parent" ref="682247244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">11</int>
+ <reference key="object" ref="167643285"/>
+ <reference key="parent" ref="352248657"/>
+ </object>
+ <object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="708052741"/>
- <reference key="parent" ref="360949347"/>
+ <reference key="parent" ref="682247244"/>
</object>
</object>
</object>
@@ -111,15 +146,23 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-2.CustomClassName</string>
+ <string>11.IBPluginDependency</string>
<string>3.IBEditorWindowLastContentRect</string>
<string>3.IBPluginDependency</string>
+ <string>9.CustomClassName</string>
+ <string>9.IBEditorWindowLastContentRect</string>
+ <string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NewsFeedTableViewController</string>
<string>UIResponder</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{555, 361}, {320, 460}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>NewsFeedTableViewController</string>
+ <string>{{105, 285}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -142,7 +185,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">8</int>
+ <int key="maxID">11</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
View
82 SplashScreenView.xib
@@ -8,7 +8,7 @@
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="7"/>
+ <integer value="1"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -27,10 +27,10 @@
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBUIImageView" id="52473378">
+ <object class="IBUIImageView" id="989657928">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">274</int>
- <string key="NSFrame">{{0, 86}, {320, 213}}</string>
+ <string key="NSFrame">{{-37, 94}, {320, 213}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
@@ -41,10 +41,10 @@
<string key="NSResourceName">octocat.png</string>
</object>
</object>
- <object class="IBUIImageView" id="609139401">
+ <object class="IBUIImageView" id="189418167">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">292</int>
- <string key="NSFrame">{{0, 307}, {320, 86}}</string>
+ <string key="NSFrame">{{77, 194}, {320, 86}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
@@ -55,15 +55,20 @@
<string key="NSResourceName">text-logo.png</string>
</object>
</object>
- <object class="IBUILabel" id="731131642">
+ <object class="IBUILabel" id="310534698">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">292</int>
- <string key="NSFrame">{{20, 57}, {280, 21}}</string>
+ <string key="NSFrame">{{86, 315}, {150, 75}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="IBUIText">Loading...</string>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">ArialRoundedMTBold</string>
+ <double key="NSSize">3.600000e+01</double>
+ <int key="NSfFlags">16</int>
+ </object>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAAA</bytes>
@@ -73,16 +78,17 @@
<float key="IBUIMinimumFontSize">1.000000e+01</float>
<int key="IBUITextAlignment">1</int>
</object>
- <object class="IBUIActivityIndicatorView" id="25446084">
+ <object class="IBUIActivityIndicatorView" id="999951381">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">292</int>
- <string key="NSFrame">{{150, 118}, {20, 20}}</string>
+ <string key="NSFrame">{{104, 108}, {37, 37}}</string>
<reference key="NSSuperview" ref="191373211"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<bool key="IBUIHidesWhenStopped">NO</bool>
- <int key="IBUIStyle">2</int>
+ <bool key="IBUIAnimating">YES</bool>
+ <int key="IBUIStyle">0</int>
</object>
</object>
<string key="NSFrameSize">{320, 480}</string>
@@ -101,19 +107,19 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">view</string>
+ <string key="label">activityIndicator</string>
<reference key="source" ref="372490531"/>
- <reference key="destination" ref="191373211"/>
+ <reference key="destination" ref="999951381"/>
</object>
- <int key="connectionID">11</int>
+ <int key="connectionID">13</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">activityIndicator</string>
+ <string key="label">view</string>
<reference key="source" ref="372490531"/>
- <reference key="destination" ref="25446084"/>
+ <reference key="destination" ref="191373211"/>
</object>
- <int key="connectionID">12</int>
+ <int key="connectionID">15</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
@@ -128,18 +134,6 @@
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">1</int>
- <reference key="object" ref="191373211"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="52473378"/>
- <reference ref="25446084"/>
- <reference ref="609139401"/>
- <reference ref="731131642"/>
- </object>
- <reference key="parent" ref="360949347"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="360949347"/>
@@ -151,23 +145,35 @@
<reference key="parent" ref="360949347"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">7</int>
- <reference key="object" ref="52473378"/>
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="310534698"/>
+ <reference ref="189418167"/>
+ <reference ref="989657928"/>
+ <reference ref="999951381"/>
+ </object>
+ <reference key="parent" ref="360949347"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">9</int>
+ <reference key="object" ref="310534698"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">8</int>
- <reference key="object" ref="609139401"/>
+ <int key="objectID">10</int>
+ <reference key="object" ref="999951381"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">9</int>
- <reference key="object" ref="731131642"/>
+ <int key="objectID">8</int>
+ <reference key="object" ref="189418167"/>
<reference key="parent" ref="191373211"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">10</int>
- <reference key="object" ref="25446084"/>
+ <int key="objectID">7</int>
+ <reference key="object" ref="989657928"/>
<reference key="parent" ref="191373211"/>
</object>
</object>
@@ -189,7 +195,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>SplashScreenViewController</string>
<string>UIResponder</string>
- <string>{{195, 227}, {320, 480}}</string>
+ <string>{{351, 376}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -217,7 +223,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">12</int>
+ <int key="maxID">26</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">

0 comments on commit dd47d69

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