Как я называю файл по-разному каждый раз, когда я его выделяю? - PullRequest
0 голосов
/ 15 января 2010

Код:

    // Inside my BoardsViewController.m
- (void)createImage {

    imageCounter ++; 
    board = [[Boards alloc] init]; 
    [self.view addSubview:board];
    [board release];

board предполагается менять каждый раз, и вместо того, чтобы называться board: быть названным 1_board, 2_board, 3_board, каждый раз, когда я вызываю этот метод

}

Я хочу, чтобы у досок (UIView subclass) было имя imageCounter, а также была доска. Вроде как: 1_board. Это значит, что я хочу, чтобы Доски вызывались по-разному каждый раз, когда я вызываю этот метод.

EDIT:
Это может помочь, может быть:

Я хочу, чтобы этот единственный метод, который я буду вызывать несколько раз, выделял доску (подкласс UIView), но у них были разные имена, отличные от одного имени. Это означает, что я увеличиваю счетчик просмотров каждый раз перед выделением представления. Поэтому я хочу, чтобы имя включало переменную в целое число: viewCounter. Так что я могу вызывать разные представления отдельно и контролировать каждое распределение по-разному.

1 Ответ

2 голосов
/ 15 января 2010

Не ясно, чего вы хотите достичь. Если вы хотите различить различные экземпляры Board позже, вы можете использовать свойство tag (доступно во всех подклассах UIView):

- (void)createImage {
    imageCounter ++; 
    Boards *board = [[UIImageView alloc] init]; 
    board.tag = imageCounter;
    [self.view addSubview:board];
    [board release]; // Note that you need this line also, you current code produces memory leak
}

Позже вы можете получить каждую из созданных досок, используя:

Boards* yourBoard = [self.view viewWithTag: someTag];

Вы также можете определить некоторый пользовательский идентификатор в вашем классе Board, если хотите. Изменение имени локальной переменной (например, board на what_board) в действительности не имеет смысла, так как это имя все равно не будет доступно вне области действия этой функции.

...