Содержание динамично изменяющегося UITableView

Я - новичок к JavaScript поэтому, возможно, я просто не слишком испытан в обеспечении хорошей точки наблюдения к этому. Все же я хочу разделить свои взгляды на эту "новую" вещь.

я произошел из мира C#, где использование "нового" ключевого слова является столь естественным, что это - шаблон разработки фабрики, который выглядит странным мне.

, Когда я сначала кодирую в JavaScript, я не понимаю, что существует "новое" ключевое слово и код как тот в шаблоне YUI, и это не занимает у меня много времени для столкновения с бедствием. Я теряю след того, что конкретная строка, как предполагается, делает при оглядывании назад код, который я записал. Более хаотичный то, что мой ум не может действительно передать транзитом между границами экземпляров объектов, когда я - "сухое выполнение" код.

Затем я нашел "новое" ключевое слово, чтобы мне, оно "разделяет" вещи. С новым ключевым словом это создает вещи. Без нового ключевого слова я знаю, что не перепутаю его с созданием вещей, если функция, которую я вызываю, не даст мне сильный ключ к разгадке этого.

, Например, с var bar=foo(); у меня нет подсказок как, какова панель могла возможно быть.... Действительно ли это - возвращаемое значение, или действительно ли это - недавно созданный объект? Но с var bar = new foo(); я знаю наверняка, что панель является объектом.

5
задан JonB 15 July 2009 в 13:58
поделиться

2 ответа

Sure the method reloadData on UITableView will do the trick

8
ответ дан 13 December 2019 в 19:33
поделиться

Не бойтесь, создать подкласс UITableView очень просто. В xCode просто выберите новый файл, выберите «Классы касания какао», «Класс Objective-c» и в раскрывающемся списке «Подкласс» выберите «UITableView». xCode добавит подкласс UITableViewController с заглушками для развития.

Я заполнил очень простой пример, который извлекает данные таблицы из массива и отображается из делегата приложения. Как вы предложили, отправка сообщения reloadData в UITableView обновит отображаемые данные.

Как вы, вероятно, узнали, использовать InterfaceBuilder для этой работы намного сложнее, чем делать это программно.

Ура, niels

//
//  MyTableViewController.m
//  TableView
//
//  Created by Niels Castle on 7/15/09.
//  Copyright 2009 Castle Andersen ApS. All rights reserved.
//

#import "MyTableViewController.h"


@implementation MyTableViewController

// Initializer do custom initialisation here
- (id)initWithStyle:(UITableViewStyle)style {
    if (self = [super initWithStyle:style]) {

      // This is the source of my data. The simplest source possible,
      // an NSMutableArray, of name. This would be the data from your web site
       array = [[NSMutableArray alloc]
        initWithObjects:@"Niels", @"Camilla", @"William", nil];
    }
    return self;
}


// How many section do we want in our table
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}


// Customize the number of rows in the table view
// Simply the number of elements in our array of names
- (NSInteger)tableView:(UITableView *)tableView
    numberOfRowsInSection:(NSInteger)section {
    return [array count];
}


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView
    cellForRowAtIndexPath:(NSIndexPath *)indexPath {

   // Reuse cells 
   static NSString *id = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:id];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc]
            initWithStyle: UITableViewCellStyleDefault
            reuseIdentifier:CellIdentifier] autorelease];
    }

   // Simplest possible cell - displaying a name from our name array
   [[cell textLabel] setText: [array objectAtIndex:[indexPath row]]];

    return cell;
}

- (void)dealloc {
   [super dealloc];
   [array release];
}

@end


//
//  TableViewAppDelegate.m
//  TableView
//
//  Created by Niels Castle on 7/15/09.
//  Copyright Castle Andersen ApS 2009. All rights reserved.
//

#import "TableViewAppDelegate.h"
#import "MyTableViewController.h"

@implementation TableViewAppDelegate

@synthesize window;


- (void)applicationDidFinishLaunching:(UIApplication *)application {    

   MyTableViewController *twc = [[MyTableViewController alloc]
      initWithStyle: UITableViewStylePlain];
   [window addSubview: [twc view]];

    [window makeKeyAndVisible];
}


- (void)dealloc {
    [window release];
    [super dealloc];
}


@end
3
ответ дан 13 December 2019 в 19:33
поделиться