В Objective-C, как я могу проверить тип объекта?

Да, обычно лучший способ сохранить файл в базе данных - сохранить массив байтов в столбце BLOB. Вероятно, вам понадобится несколько столбцов для хранения метаданных файла, таких как имя, расширение и т. Д.

Не всегда хорошая идея хранить файлы в базе данных - например, в базе данных размер будет быстро расти, если вы храните в нем файлы. Но все зависит от вашего сценария использования.

541
задан Cypress Frankenfeld 20 August 2013 в 18:08
поделиться

2 ответа

Если ваш объект - myObject , и вы хотите проверить, является ли он NSString , код будет следующим: :

[myObject isKindOfClass:[NSString class]]

Подобным образом, если вы хотите протестировать myObject для UIImageView :

[myObject isKindOfClass:[UIImageView class]]
861
ответ дан 22 November 2019 в 22:20
поделиться

«Неустранимая ошибка», как следует из названия, является критической: она останавливает выполнение скрипта / программы.

Если вы используют PHP для создания веб-страниц и получают Фатальную ошибку, связанную с max_execution_time , которая, У вас есть два способа сделать это:

Во-первых, изменить php.ini, чтобы установить это значение (оно уже находится в файле; просто отредактируйте значение свойства). Проблема в том, что он изменит его также для веб-сервера, что плохо (в конце концов, это мера безопасности) . Лучше создать копию php.ini, названную, например, phpcli.ini, и изменить этот файл. Затем используйте его при вызове php:

php -c phpcli.ini myscript.php

Это будет отлично работать, если у вас есть много свойств, которые нужно настроить для выполнения CLI. (Например, memory_limit , который часто должен быть установлен на более высокое значение для длительных пакетов)

Другой способ - определить другое значение для max_execution_time при вызове php , например:

php -d max_execution_time=60 myscript.php

Это замечательно, если вы запускаете это, например, через crontab.

Для получения дополнительной информации обратитесь к документации NSObject .

Вот как вы это используете.

BOOL test = [self isKindOfClass:[SomeClass class]];

Вы также можете попробовать сделать что-то вроде этого

for(id element in myArray)
{
    NSLog(@"=======================================");
    NSLog(@"Is of type: %@", [element className]);
    NSLog(@"Is of type NSString?: %@", ([[element className] isMemberOfClass:[NSString class]])? @"Yes" : @"No");
    NSLog(@"Is a kind of NSString: %@", ([[element classForCoder] isSubclassOfClass:[NSString class]])? @"Yes" : @"No");    
}
54
ответ дан 22 November 2019 в 22:20
поделиться