Estruturas não-objective-c em aplicações de macintosh
Video: Objective-C on the Mac L41 - NSSortDescriptor
Conteúdo
Apple oferece muitas estruturas de Macintosh de desenvolvimento de aplicações (bibliotecas de código) que seu aplicativo pode chamar para executar os milhares de operações no OS X. Muitos destes quadros, como o Kit PDF, são compostos de classes de Objective-C, a partir do qual o seu aplicativo pode criar e usar objetos dentro de suas aplicações. No entanto, algumas destas estruturas são bibliotecas apenas de funções que a sua aplicação pode executar.
Video: Objective C (Introdução) - Xcode 01 / 31
Por exemplo, a CFNetwork framework é um conjunto de funções que seu aplicativo pode usar para realizar conexões de rede aperfeiçoá-lo. o NSURL classe fornece um bom conjunto de operações de rede básicas que são grandes para recuperar dados usando uma URL. Se seu aplicativo requer mais controle sobre as comunicações de rede que inicia, você vai ter que usar a CFNetwork framework e suas funções. Você pode usar o código a seguir para preparar uma solicitação HTTP para transmissão para uma URL específica:
CFStringRef httpBody = CFSTR ( " ) -CFStringRef headerFieldName = CFSTR ( "Biscoito" ) - // adicionar o cookie específico para HTTP requestCFStringRef headerFieldValue = CFSTR ( "loginID = my_user_name- password = my_password-" ) Url -CFStringRef = CFSTR ( "diabeticpad.com" ) -CFURLRef urlRef = CFURLCreateWithStrign (kCFAllocatorDefault, URL, NULL) -CFStringRef RequestMethod = CFSTR ( "OBTER" ) Pedido -CFHTTPMessageRef = CFHTTPMessageCreateRequest (kCFAllocatorDefault, RequestMethod, url, kCFHTTPVersion1_1) -CFHTTPMessageSetBody (request, httpBody) - // adicione o cookieCFHTTPMessageSetHeaderFieldValue (request, headerFieldName, headerFieldValue) -CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage (pedido) -
Uma vez que seu código tem o pedido serializado, seu aplicativo pode então abrir um write-stream, a fim de entregar o pedido ao seu destino.
Todos os quadros Apple baseados em C fornecer um conjunto de funções para realizar este tipo de programação de nível mais baixo. Seu código vai ficar mais complicado, mas a Apple não oferece aulas de Objective-C para todas as suas estruturas. Se você realmente precisar a funcionalidade disponível em um desses frameworks, esta é a única maneira que você pode conseguir objetivos da sua aplicação. As seguintes estruturas não fornecem as classes Objective-C:
audio Toolbox
CFNetwork
MIDI núcleo
Texto núcleo
Serviço de diretório (como LDAP e Open Directory)
Segurança
Se você quiser criar aplicativos que podem tirar o máximo partido das funcionalidades do OS X, você precisa estar pronto para apoiar o uso de bibliotecas de código não-Objective-C.