Существует ли легкое для понимания руководства (в новинку для Какао, XCode, и т.д.) для Интерфейсного Разработчика, который говорит об объектах прокси?

Согласно ссылкам ниже, Java 6.0 (все версии) поддерживает TLS 1.0.

Теперь он, очевидно, не работает для вас, и похоже, что вы используете правильное значение свойства. Я подозреваю, что проблема заключается в том, что вы устанавливаете сетевые свойства в объекте системных свойств слишком поздно , чтобы они имели какой-либо эффект. Попробуйте установить их, используя свойства командной строки -Dname=value.

Если вы устанавливаете системные свойства программно, вам нужно сделать это до того, как они будут использованы. Свойства сети обычно используются, когда запускается статическая инициализация, и это часто раньше, чем вы думаете в жизненном цикле приложения.

1114 Однако есть одна вещь, которая беспокоит меня. Согласно одной из этих ссылок, TLS 1.0 является значением по умолчанию для Java 6.0. Если это правильно, нет необходимости устанавливать «https.protocols» для получения TLS 1.0. Итак, если мое предложение выше не работает, следующим шагом должно быть добавление -Djavax.net.debug=all и просмотр журнальных сообщений, создаваемых при попытке установить соединение HTTPS.

Ссылки:


Вы должны сообщить своему руководству и клиентам следующее:

  • Вы / они не должны использовать Java 6 или Java 7 .. Если у вас / у них нет контракта на поддержку Oracle Java и вы используете недавний не публичный выпуск. Открытые выпуски Java 6 или Java 7 являются EOL. Java 6 была EOL с апреля 2013 года. Это много исправлений безопасности, которые вам не хватает!

  • Вы / они не должны использовать TLS 1.0. Это больше не считается безопасным. Один источник говорит следующее:

    «TLS 1.0 - это первая версия TLS, довольно распространенная в мире и требующая обходных путей как на клиенте, так и на сервере для работают надежно для всех наборов шифров. TLS 1.0 также не может использовать современные наборы шифров, которые обеспечивают большую безопасность и эффективность. "

    blockquote>

15
задан dsolimano 26 May 2015 в 17:21
поделиться

4 ответа

Во-первых, заполнитель здесь лучше, чем прокси.

Обычно, когда у вас есть объект в файле NIB / XIB, это означает, что загрузка файла NIB создаст этот экземпляр. Объекты-заполнители - это объекты, которые уже будут существовать при загрузке файла NIB, и они появляются внутри NIB, чтобы вы могли устанавливать соединения между объектами, которые будут созданы при загрузке NIB, и объектами, которые уже существуют.

Владелец файла, первый респондент и приложение являются заполнителями.

Владелец файла является заполнителем для объекта, который будет загружать перо. Все методы загрузки NIB принимают параметр «владелец». Когда вы устанавливаете соединение с владельцем файла, когда он устанавливается во время выполнения, он будет связан с объектом-владельцем, переданным в метод загрузки пера. Многие классы UIKit и AppKit вызывают за вас методы загрузки пера. NSApplication , NSViewController , NSWindowController , UIApplication и UIViewController все загружают файлы NIB от вашего имени. Когда они это делают, они передают self как параметр владельца методам загрузки пера. Вот почему, когда вы используете контроллер представления или контроллер окна, вы устанавливаете владельца файла на свой подкласс и устанавливаете большую часть соединений между вашими представлениями и владельцем файла.

Экземпляр NSApplication является простым заполнителем для [NSApplication sharedApplication] . Это глобальный синглтон, и значок в Interface Builder представляет этот глобальный синглтон. Загрузка файла NIB не создает второй экземпляр NSApplication . Напротив, когда файл NIB содержит окно, если вы загрузите его дюжину раз, у вас будет дюжина экземпляров окна, но по-прежнему будет один экземпляр NSApplication .

Первый ответчик уникален. Подключение действия к первому респонденту означает, что когда действие запускается, оно должно динамически отправляться в цепочку респондентов. Цепочка респондентов обычно начинается с сфокусированного представления и продолжается вверх по иерархии представлений и включает некоторые контроллеры и делегаты. Каждый объект в цепочке получает шанс справиться с действием. Пункты меню отлично работают с цепочкой респондентов. Если у вас есть пункт меню «Сделать полужирным», который должен сделать выделенный в данный момент текст полужирным, вы можете начать с подключения его к подклассу NSApplication , но тогда вам нужно будет знать все ситуации, которые применимы «Сделать жирным», и как с ними справиться. Текстовое представление и редактируемое веб-представление, вероятно, потребуют разного кода для обработки «выделения жирным шрифтом», и объединение всего этого в один объект станет довольно сложным и не будет очень расширяемым. Вместо этого вы можете связать действие пункта меню «Сделать жирным» с действием makeBold: в Первом респонденте. Это будет означать, что при выборе пункта меню объект в фокусе или один из его родителей, который ответил на makeBold: , получит сообщение makeBold: . Теперь многие классы могут реализовать метод makeBold: и реагировать на этот пункт меню, когда они '

44
ответ дан 1 December 2019 в 00:33
поделиться

За исключением «Владельца файла» (который подключается при загрузке nib / xib), объекты, которые вы создаете в IB, являются реальными объектами, а не прокси-объектами.

Вы Возможно, вы захотите просмотреть какой-нибудь существующий пример кода, чтобы увидеть, как IB подключается. Есть ли в прочитанной вами документации / руководствах что-нибудь, что вас смущает? Трудно многое сделать с "немного потерянным".

1
ответ дан 1 December 2019 в 00:33
поделиться
0
ответ дан 1 December 2019 в 00:33
поделиться

У Apple есть следующий документ, в котором объясняется владелец файла , First Responder и Application объекты-заполнители, найденные в файлах Interface Builder NIB / XIB здесь:

Руководство пользователя Interface Builder: Объекты-заполнители

Я понял в вашем вопросе, который вы упомянули читая документы Apple Interface Builder, но я счел уместным опубликовать это здесь для справок в будущем. Кроме того, документы были обновлены с тех пор, как ваш вопрос был впервые задан, поэтому, возможно, с тех пор они прояснили ситуацию.

1
ответ дан 1 December 2019 в 00:33
поделиться