Какова польза от getStacktrace (), setStackTrace ()? Я не могу понять, для чего нужна эта функция?

На самом деле есть лучший способ разобрать NSURL. Используйте NSURLComponents. Вот пример simle:

Swift:

extension URL {
    var params: [String: String]? {
        if let urlComponents = URLComponents(url: self, resolvingAgainstBaseURL: true) {
            if let queryItems = urlComponents.queryItems {
                var params = [String: String]()
                queryItems.forEach{
                    params[$0.name] = $0.value
                }
                return params
            }
        }
        return nil
    }
}

Objective-C:

NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
    NSArray *queryItems = [components queryItems];

    NSMutableDictionary *dict = [NSMutableDictionary new];

    for (NSURLQueryItem *item in queryItems)
    {
        [dict setObject:[item value] forKey:[item name]];
    }
0
задан ernest_k 18 January 2019 в 09:37
поделиться

1 ответ

Основная идея заключается в том, чтобы настроить трассировку стека в соответствии с вашими вариантами использования (настраиваемая обработка ошибок с некоторой дополнительной информацией, необходимой, например, в трассировке стека), поскольку:

setStackTrace (StackTraceElement [] stackTrace) метод класса Throwable используется для установки элементов трассировки стека для этого бросаемого объекта, и эта трассировка стека будет возвращена getStackTrace () и напечатана printStackTrace () и связанных с ним методов. Этот метод позволяет пользователю переопределить трассировку стека по умолчанию, которая генерируется с помощью fillInStackTrace () , когда throwable создается, или десериализуется, когда throwable читается из потока сериализации.

0
ответ дан Echoinacup 18 January 2019 в 09:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: