title: Refresh table view?
body: <p>I think I have a pretty easy task, but somehow it doesn't want to work. I am a total beginner in objective-c, so I guess it's just a small mistake. I still don't really know what I do, currently it's more like copy&amp;paste programming. Like I don't really know if I need the IBOutlet in the interface or as a property or as both. </p>
  
  <p><strong>What I have:</strong></p>
  
  <p>A ViewController with a Button, a Label and a Table View. The button connects to a sharepoints server and reads a list and adds the value to an array. This part works.</p>
  
  <p>Delegate and DataSource outlet is connected to the View Controller.</p>
  
  <p><strong>What I want:</strong></p>
  
  <p>The array should be the datasource of the Table View, so I just want it to refresh after I've read the new data in the array. The test data I add in the viewDidLoad function to the array, shows up. So I guess I somehow connected the array to the table view. </p>
  
  <p>I'll give you the full code:</p>
  
  <p><strong>ViewController.h:</strong></p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  
  @interface ViewController : UIViewController &lt;UITableViewDelegate, UITableViewDataSource&gt;
  {
      IBOutlet UILabel *output;
      IBOutlet UITableView *tableView;
      NSMutableData *webData;
      NSString *finaldata;
      NSString *convertToStringData;
      NSMutableString *nodeContent;
  }
  @property (nonatomic, retain) UILabel *output;
  @property (nonatomic, weak) IBOutlet UITableView *tableView;
  -(IBAction)invokeService:(UIButton *) sender;
  
  @end
  </code></pre>
  
  <p><strong>ViewController.m:</strong></p>
  
  <pre><code>#import "ViewController.h"
  
  @interface ViewController ()
  {
      NSMutableArray *foundUrlaub;
  }
  
  @end
  
  @implementation ViewController
  
  @synthesize output;
  
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
  
      // SOME TEST DATA... THIS SHOWS UP IN MY TABLE VIEW
      foundUrlaub = [[NSMutableArray alloc]init];
      [foundUrlaub addObject:@"first cell"];
      [foundUrlaub addObject:@"second cell"];
      [foundUrlaub addObject:@"third cell"];
  }
  
  -(IBAction)invokeService:(UIButton *) sender
  {
      // connection to sharepoint
  }
  
  -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
  {
      NSLog(@"didReceiveResponse");
      [webData setLength:0];
  }
  
  -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
  {
      NSLog(@"didReceiveData");
      [webData appendData:data];
  }
  
  -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
  {
      NSLog(@"ERROR with the Connection");
      NSLog(error.description);
  }
  
  -(BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace
  {
      NSLog(@"canAuthenticateAgainstProtectionSpace");
      return YES;
  }
  
  -(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
  {
      NSLog(@"didReceiveAuthenticationChallenge");
      NSURLCredential *credential = [NSURLCredential credentialWithUser:@"XXXXXX" password:@"XXXXXX" persistence:NSURLCredentialPersistenceForSession];
      [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge];
  }
  
  -(void)connectionDidFinishLoading:(NSURLConnection *)connection
  {
      NSLog(@"DONE. Received Bytes: %d", [webData length]);
      convertToStringData = [[NSString alloc] initWithData:webData encoding:NSUTF8StringEncoding];
  
      NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?&lt;=ows_Title=')(.*)(?=' ows_MetaInfo)" options:0 error:NULL];
  
      NSArray *matches = [regex matchesInString:convertToStringData options:0 range:NSMakeRange(0, [convertToStringData length])];
  
      // HERE I LOAD SOME DATA IN THE ARRAY
      [foundUrlaub removeAllObjects];
      for (NSTextCheckingResult *match in matches)
      {
          NSRange matchRange = [match rangeAtIndex:1];
          NSString *matchString = [convertToStringData substringWithRange:matchRange];
          NSLog(@"Match: %@", matchString);
          [foundUrlaub addObject:matchString]; // &lt;- ADDS 3 STRINGS TO ARRAY
      }
  
      // THIS DOES NOT WORK!
      [tableView reloadData];
  
  }
  
  
  - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
      // Dispose of any resources that can be recreated.
  }
  
  -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
      return [foundUrlaub count];
  }
  
  -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *simpleTableIdentifier = @"TableItem";
  
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
  
      if (cell == nil)
      {
          cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
      }
  
      cell.textLabel.text = [foundUrlaub objectAtIndex:indexPath.row];
      return cell;
  }
  
  @end
  </code></pre>