Это может звучать как глупый вопрос, но Apple предоставляет нам NSNotFound, но почему они не предоставили один под названием NSFound? Есть ли способ определить макрос NSFound самостоятельно?Можно ли определить макрос NSFound?
Поэтому я прошу все это в том, что для того, чтобы меня, чтобы проверить, если строка «содержит» некий символ я должен сделать двойной отрицательный IE
if ([XML rangeOfString:@"error" options:NSCaseInsensitiveSearch].location != NSNotFound)
{
//server is down
}
else
{
//server is up
}
По крайней мере, для меня это было бы так гораздо легче читать, если я мог бы просто сделать это вместо того, чтобы
if ([XML rangeOfString:@"error" options:NSCaseInsensitiveSearch].location == NSFound)
{
//server is down
}
else
{
//server is up
}
Если я хочу, чтобы определить NSFound или SAMFound, как бы я идти о выполнении этого?
Поскольку rangeOfString возвращает местоположение строки. Какая польза от NSFound-константы, если вы фактически не получили место, где была найдена строка? – JAL
@JAL, что не имеет смысла. Если rangeOfString возвращает местоположение строки, это хорошо, и это то, что я хочу. Если его не нашли, сделайте что-нибудь еще. Он будет идти в блоке else –
Если вы должны были определить макрос для этого, учитывая множество возможных «найденных» случаев, вам действительно нужно просто сделать что-то вроде '#define NSFound (X) (X)! = NSNotFound ', что означает, что вам придется использовать его как' NSFound ([XML rangeOfString: @ "error" options: NSCaseInsensitiveSearch] .location) 'и лично, это менее читаемо и нестандартно! –