From 6ebbf728e84d8dc84d1f9606b9f792ce6d4a9344 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 29 Sep 2012 18:04:05 -0400 Subject: Got message displaying working through web sockets by refreshing the data when it comes in. --- Classes/ChatMessagesDataSource.h | 4 +++- Classes/ChatMessagesDataSource.m | 8 ++++++-- Classes/ChatViewController.m | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'Classes') diff --git a/Classes/ChatMessagesDataSource.h b/Classes/ChatMessagesDataSource.h index 51c0ce2..8b6cf5e 100644 --- a/Classes/ChatMessagesDataSource.h +++ b/Classes/ChatMessagesDataSource.h @@ -12,14 +12,16 @@ @interface ChatMessagesDataSource : NSObject { NSMutableArray *messages; + UITableView *chatTableView; @private WebSocket *ws; } @property (nonatomic, retain) NSMutableArray *messages; +@property (nonatomic, retain) UITableView *chatTableView; @property (nonatomic, readonly) WebSocket *ws; +- (id)initWithTableView:(UITableView *)tableView; - (void)startMyWebSocket; -- (void)sendMessage:(NSString *)message; @end diff --git a/Classes/ChatMessagesDataSource.m b/Classes/ChatMessagesDataSource.m index 80f449f..ad74a1a 100644 --- a/Classes/ChatMessagesDataSource.m +++ b/Classes/ChatMessagesDataSource.m @@ -7,12 +7,14 @@ // #import "ChatMessagesDataSource.h" +#import "ChatViewController.h" @implementation ChatMessagesDataSource @synthesize ws; @synthesize messages; +@synthesize chatTableView; - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [messages count]; @@ -25,7 +27,7 @@ if (cell == nil) { cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; } - + // Set up the cell... NSString *cellValue = [messages objectAtIndex:[indexPath row]]; cell.textLabel.text = cellValue; @@ -51,7 +53,7 @@ #pragma mark Lifecycle -- (id)init +- (id)initWithTableView:(UITableView *)tableView { self = [super init]; if (self) @@ -66,6 +68,7 @@ ws = [[WebSocket webSocketWithConfig:config delegate:self] retain]; messages = [[NSMutableArray alloc] init]; + chatTableView = tableView; } return self; @@ -114,6 +117,7 @@ // NSLog(@"Did receive message: %@", aMessage); [messages addObject:aMessage]; + [chatTableView reloadData]; NSLog(@"TABLE DATA: %@", [messages description]); } diff --git a/Classes/ChatViewController.m b/Classes/ChatViewController.m index 971363c..5a9f01b 100644 --- a/Classes/ChatViewController.m +++ b/Classes/ChatViewController.m @@ -40,7 +40,7 @@ self.view.backgroundColor = [UIColor colorWithRed:219.0f/255.0f green:226.0f/255.0f blue:237.0f/255.0f alpha:1]; chatTableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; - dataSource = [[ChatMessagesDataSource alloc] init]; + dataSource = [[ChatMessagesDataSource alloc] initWithTableView:chatTableView]; [dataSource startMyWebSocket]; [chatTableView setDataSource:dataSource]; [self.view addSubview:chatTableView]; -- cgit v1.2.3