„Apple“ teikia daug „Macintosh“ programų kūrimo schemų (kodų bibliotekų), kurias jūsų programa gali iškviesti, kad atliktų tūkstančius operacijų OS X. Daugelį šių sistemų, pvz., PDF rinkinį, sudaro „Objective-C“ klasės, iš kurių jūsų programa gali kurkite ir naudokite objektus savo programose. Tačiau kai kurios iš šių sistemų yra tik funkcijų, kurias gali vykdyti jūsų programa, bibliotekos.
Pavyzdžiui, CFNetwork sistema yra funkcijų rinkinys, kurį jūsų programa gali naudoti, kad būtų galima tiksliai suderinti tinklo ryšius. NSURL klasė suteikia gerą pagrindinių tinklo operacijų rinkinį, kuris puikiai tinka duomenims gauti naudojant URL. Jei programai reikia labiau valdyti jos inicijuojamus tinklo ryšius, turėsite naudoti CFNetwork sistemą ir jos funkcijas. Galite naudoti šį kodą, kad paruoštumėte HTTP užklausą perduoti tam tikru URL:
CFStringRef httpBody = CFSTR( " ); CFStringRef headerFieldName = CFSTR( "Slapukas"); // pridėti konkretų slapuką prie HTTP užklausos CFStringRef headerFieldValue = CFSTR( "loginID=mano_naudotojo_vardas; slaptažodis=mano_slaptažodis;" ); "CFString =RefSTR(" ) .diabeticpad.com" ); CFURLRef urlRef = CFURLCreateWithStrign( kCFAllocatorDefault, url, NULL ); CFStringRef requestMethod = CFSTR( "GET" ); CFHTTPMessageRef užklausa = CFHTTPMessageRef request = CFHTTPMessageRef1 request = CFHTTPMessageRef1); // pridėti slapuką CFHTTPMessageSetHeaderFieldValue( request, headerFieldName, headerFieldValue ); CFDataRef serializedHttpRequest = CFHTTPMessageCopySerializedMessage( request );
Kai jūsų kodas gaus nuoseklią užklausą, programa gali atidaryti rašymo srautą, kad užklausa būtų pristatyta į paskirties vietą.
Visose C pagrindu sukurtose Apple sistemose yra funkcijų rinkinys, skirtas tokio tipo žemesnio lygio programavimui atlikti. Jūsų kodas taps sudėtingesnis, tačiau „Apple“ neteikia „Objective-C“ klasių visoms savo sistemoms. Jei jums tikrai reikia funkcionalumo vienoje iš tų sistemų, tai vienintelis būdas pasiekti programos tikslus. Šios sistemos nepateikia Objective-C klasių:
Jei norite sukurti programas, kurios gali išnaudoti visas OS X ypatybes, turite būti pasirengę palaikyti ne Objective-C kodų bibliotekų naudojimą.