Основы табличного представления и внешний вид, такие как MS Excel - PullRequest
0 голосов
/ 18 февраля 2011

Я новичок в программировании на Objective-C.Пожалуйста, помогите мне понять, как вставить данные в табличное представление с визуальным стилем, похожим на MS Excel.

1 Ответ

1 голос
/ 18 февраля 2011

Это не может выглядеть точно так, как вы хотите, потому что таблицы в MS Excel и на iPhone разные.

В табличном представлении на iOS есть два элемента, которые вы можете настроить для отображения данных - хранилище данныхи делегат.

Если вы можете извлечь все данные из MS Excel таким образом, чтобы вы могли получить доступ к любым конкретным данным, просто зная их строку и столбец, тогда эти данные могут отображаться в табличном представлении.

В табличном представлении есть концепция NSIndexPath, которая представляет собой структуру номеров строк и соответствующего номера раздела.Теперь давайте предположим, что в вашем документе Excel есть записи о ста учениках, и у каждой записи есть три поля: имя, возраст, пол.В этой ситуации вы создадите табличное представление с сотней разделов и тремя строками для каждого раздела.

Теперь предположим, что у вас есть контроллер представления с именем myViewController, чтобы показать это табличное представление с именем myTableView:

-(void)viewDidLoad {

    myTableView.datasource = self; 
    myTableView.delegate = self;
}

Теперь, прежде чем вы сможете это сделать, вам нужно сделать следующее в файле MyViewController.h

@interface MyViewController: UIViewController <UITableViewDataSource, UITableViewDelegate> {

Теперь предположим, что у вас есть массив с именем allStudents, содержащий объекты класса Student который имеет три свойства:

NSString * name;

NSUInteger * age;

BOOL male; // yes if sex is male else NO

Теперь вам нужно реализовать методы источника данных и делегата табличного представления:

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return [allStudents count];
}

-(NSInteger)tableView:(UITableView *)tableView 
numberOfRowsInSection:(NSInteger)section 
{
    return 3;
}

- (UITableViewCell *)tableView:(UITableView *)tableView 
        cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

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

    Student * current = [allStudents objectAtIndex:NSIndexPath.section];
    cell.textLabel.text = current.name;
    if( current.male ) {
        cell.detailTextLabel.text = [NSString stringWithFormat:@"%dyr M",current.age];
    } else {
        cell.detailTextLabel.text = [NSString stringWithFormat:@"%dyr F",current.age];
    }


    return cell;
}

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

Надеюсь, это помогло вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...