Создание пользовательской ячейки TableView с динамическим количеством объектов - PullRequest
2 голосов
/ 01 декабря 2011

Здравствуйте уважаемые программисты,

У меня есть требование для создания пользовательской ячейки просмотра таблицы с помощью метода, приведенного ниже:


@interface CustomTableCell : UITableViewCell {

}

@implementation CustomTableCell

-(void)setObjectWithType:(NSString *)objectType atPlace:(CGRect) placeOfObject
{
    class className=NSClassFromString(objectType);

    className *objectName = [[NSClassFromString(objectType) alloc] init];// Giving error    
}

Пожалуйста, решите эту проблему, чтобы создать объект любого типа, передав аргументы как показано ниже:


CustomTableCell *cell=[[CustomTableCell alloc] init];
[cell setObjectWithType:@"UILabel" atPlace:CGRectMake(0, 0, 100, 30)];

Спасибо, заранее.

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Звучит так, как будто это может превратиться в настоящий кошмар, но для решения вашей непосредственной проблемы вам придется использовать id или самый низкий общий суперкласс (например, UIView) при создании произвольных объектов:

id objectName = [[NSClassFromString....

Компилятор не может выполнять динамическое приведение, как вы пытаетесь.Это должно быть сделано во время выполнения.

0 голосов
/ 01 декабря 2011

Используйте общий тип, например id:

id objectName = [[NSClassFromString(objectType) alloc] init]; 

Вы также можете использовать UIView, NSObject. зависит от ваших целей

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