Динамично классы instanting в Objective C, возможном?

Кроме того, вы, вероятно, захотите перенаправить пользователя к указанному в URL-адресе заголовков. Итак, это будет выглядеть так:

$.ajax({
    //.... other definition
    complete:function(xmlHttp){
        if(xmlHttp.status.toString()[0]=='3'){
        top.location.href = xmlHttp.getResponseHeader('Location');
    }
});

UPD: Opps. Иметь ту же задачу, но она не работает. Делать это. Я покажу вам решение, когда найду его.

21
задан Coocoo4Cocoa 19 December 2008 в 18:49
поделиться

4 ответа

Для инстанцирования класса с помощью его имени можно использовать NSClassFromString:

id obj = [[NSClassFromString(@"MySpecialClass") alloc] init];
54
ответ дан 29 November 2019 в 06:17
поделиться

Классы являются объектами и могут использоваться/отправляться то же в качестве других объектов.

Создать объект класса:

Class classForElement = [MyUserClass class];

Инстанцировать объекта того класса

id newObject = [[classForElement alloc] init];

Если имя класса не является тем же как именем элемента, создайте словарь, который имеет Класс как объект имя элемента как ключ.

[NSDictionary dictionaryWithObjectsAndKeys:
                         [MyUserClass class], @"user", 
                         [MyCarClass class], @"car", 
                         [MyHomeClass class], @"home",
                          nil]];
23
ответ дан 29 November 2019 в 06:17
поделиться

Попытайтесь использовать идентификатор в качестве типа параметра в Вашей сигнатуре метода. Идентификационный объект может быть преобразован тип в любой объект класса

, Вы делающий проект для iPhone. Вы используете NSXMLNode. В случае, если Вы, знать, что использование NSXMLNode будет только позволено на средстве моделирования. Это не будет работать над iPhone, поскольку NSXMLNode является частью оперативной библиотеки.

0
ответ дан 29 November 2019 в 06:17
поделиться

Вы хотите изучить глубоко Базовые Данные. Управляемые объекты могли бы прийти на помощь.

CocoaDevCentral имеет некоторые статьи представления, но Вам, вероятно, нужны документы Apple.

http://cocoadevcentral.com/articles/000086.php

[редактирование] мне просто напомнили, что Вы делаете это на iPhone. Недоступность Базовой платформы Данных не означает, что Вы не можете одолжить у нее и просто повторно реализовать то, в чем Вы нуждаетесь. Одна из платформ OpenStep с открытым исходным кодом могла бы иметь код.

На мобильном устройстве Вы могли бы хотеть быть осторожными относительно размера своих данных.

Ezra Epstein на создании во время выполнения классов (и больше):

http://www.macdevcenter.com/pub/a/mac/2002/05/24/runtime_partone.html

1
ответ дан 29 November 2019 в 06:17
поделиться