2
У меня есть объект, который я не уверен, является NSString или нет (может быть, NSNull, например, при чтении json в NSDictionary), и я хотел бы получить NSString *, если это допустимая строка, иначе.Лучший способ проверить класс переменной в объекте C?
Есть ли принятый способ сделать это, кроме как написать мою собственную функцию?
+(NSString*)stringWithMaybeString:(id)maybeString {
if ([maybeString isKindOfClass:[NSString class]])
return maybeString;
return nil;
}
Мой метод, конечно, в категории NSString :) Но я ожидал, что там будет что-то построенное ... – Danra
@ Danra - иногда вам нужно немного поработать :) – willcodejavaforfood
После некоторого опыта с объективом C, Я могу сказать, что он просто «катит» динамический путь. Поэтому, когда возможно (и иногда требуется) знать статический тип объектов, это просто не так много в мейнстриме. Например, у меня были утверждения в методах проверки того, что тип аргументов соответствует ожидаемому типу, или не нуль. Хотя он и ломал некоторые ошибки, все это время накладывает большую нагрузку на код. Это просто не то, что вам нужно. – Danra