動的にUITableView対して行を追加しようとしているのですが、
- 追加(表示)される: viewDidLoad中のアイテム追加
- 追加(表示)されない: AFNetworkingの呼び出し完了後のアイテム追加
という状態です。

tableViewインスタンスに対してinsertRowsAtIndexPathsするときは
mainスレッドにする、といったよくハマりがちなポイントは抑えているつもりなのですが、
2つ目のアイテムが追加されない理由がよくわかっておりません。

どなたかヒントを頂けると幸いです。

=====
ViewController.h

#import 

@interface ViewController : UIViewController

@end

ViewController.m

#import "ViewController.h"
#import 

@interface ViewController ()
@property IBOutlet UITableView* tableView;
@property NSMutableArray*       cells;
@end

@implementation ViewController{
};

static NSString *CellIdentifier = @"tableCell";

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"viewDidLoad");

    self.cells = [[NSMutableArray alloc] init];
    NSString* url = @"https://yahoo.co.jp";
    [self.cells addObject:url];
    NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:0];
    [self.tableView beginUpdates];
    [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:path] withRowAnimation:UITableViewRowAnimationTop];
    [self.tableView endUpdates];

    [self refresh];
}

- (void)refresh
{
    NSString* url = @"https://httpbin.org/get";

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];

    [manager GET:url parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        dispatch_async(dispatch_get_main_queue(), ^{
            NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:0];
            [self.cells addObject:url];
            [self.tableView beginUpdates];
            [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:path] withRowAnimation:UITableViewRowAnimationTop];
            [self.tableView endUpdates];
            NSLog(@"%@", url);
            [self.tableView reloadData];
        });
        NSLog(@"end : refresh");
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"failed 1 - error = %@", error.localizedDescription);
    }];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.cells.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"cellForRowAtIndexPath");

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    NSInteger row = indexPath.row;

    UILabel *label = [cell viewWithTag:4];
    label.text = self.cells[row];
    NSLog(@"%ld : %@", self.cells.count, label.text);

    return cell;
}

@end
2017-02-03 06:44:25.242353 test[11678:2443409] viewDidLoad
2017-02-03 06:44:25.330775 test[11678:2443409] cellForRowAtIndexPath
2017-02-03 06:44:25.334614 test[11678:2443409] 1 : https://yahoo.co.jp
2017-02-03 06:44:26.134155 test[11678:2443409] end : refresh
2017-02-03 06:44:26.134275 test[11678:2443409] https://httpbin.org/get