Какой метод проверки видеть, содержит ли NSDictionary конкретный ключ, быстрее?

Мне кажется, вы ожидаете, что SendEmail будет синхронным. Вы можете дождаться завершения асинхронного метода в SendEmail следующим образом:

public static Response SendEmail(string apiKey, string senderEmail, string senderName, string recipientEmail, string recipientName, string subject, string content, bool html)
{
    EmailHandler emailHandler = new EmailHandler();
    var responseTask =  emailHandler.SendEmail(apiKey, senderEmail, senderName, recipientEmail, recipientName, subject, content, html);
    responseTask.Wait(); // Wait for the task to complete

    return responseTask.Result;
}
32
задан Tim Post 11 March 2011 в 04:55
поделиться

3 ответа

Вы можете проверить проект flexlib . У них есть компонент под названием SuperTabNavigator, который добавляет множество функций к базовому Flex TabNavigator, включая скрытие вкладок (я думаю).

Однако, если вам нужно создать свой собственный компонент, это немного сложнее. Следует знать, что «вкладки» на самом деле представляют собой кнопки со специальным стилем, содержащиеся в компоненте TabBar (TabBar тогда содержится в TabNavigator). Тогда вам нужно будет сделать подкласс TabNavigator и иметь некоторые свойства в ваших представлениях (например, холсты и т. Д., Которые добавляются в TabNavigator), которые привязаны к свойствам visible и includeInLayout кнопок TabBar.

По сути, у вас будет что-то вроде:

68
ответ дан 27 November 2019 в 20:16
поделиться

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

2
ответ дан 27 November 2019 в 20:16
поделиться

Я не посмотрите, как запрос массива allKeys мог бы быть быстрее, иначе NSDictionary по крайней мере сделал бы эквивалент внутри.

РЕДАКТИРОВАТЬ: Я полагаю, что вы могли бы создать случай, когда метод allKeys будет быстрее - с помощью занимает много времени в методе hash вашего ключа, но не в методе isEqual: , например. И вы также можете заменить сумасшедшую реализацию для NSDictionary в котором они тоже меняются местами (поскольку NSDictionary является абстрактным.)

6
ответ дан 27 November 2019 в 20:16
поделиться
Другие вопросы по тегам:

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