Opprette Objective-C-rammeverk
Utvikle og integrere Objective-C-rammeverk som kan brukes av både Objective-C- og Swift-prosjekter.
Opprette Objective-C-rammeverk er en gratis leksjon i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper inneholder totalt 4 leksjoner.
Hva er rammeverk?
Velkommen! I dag skal vi utforske Objective-C-rammeverk. Tenk på et rammeverk som en selvstendig pakke med kode og ressurser.
- De pakker inn gjenbrukbar kode, for eksempel klasser og funksjoner.
- De kan også inneholde ressurser, for eksempel bilder eller lokaliserte strenger.
- Rammeverk fremmer modularitet og gjør det enklere å gjenbruke kode på tvers av flere prosjekter eller distribuere den til andre.
De er avgjørende for å bygge komplekse apper og dele komponenter.
Rammeverk kontra biblioteker
De har kanskje hørt om statiske eller dynamiske biblioteker. Hvordan skiller rammeverk seg fra disse?
- Biblioteker (.a, .dylib) inneholder bare kompilert kode.
- Rammeverk (.framework) er en katalogstruktur som samler kode, headere, ressurser og til og med andre rammeverk.
- Den selvstendige oppbygningen gjør distribusjon og integrering i prosjekter enklere.
På iOS er rammeverk den foretrukne måten å pakke inn og dele gjenbrukbare komponenter på.
Opprette et nytt rammeverk
La oss opprette vårt første Objective-C-rammeverk i Xcode:
- Gå til File > New > Project...
- Velg malen iOS > Framework & Library.
- Velg Framework og klikk på Next.
- Gi det et navn, for eksempel
MyUtilityFramework. - Kontroller at Language er satt til Objective-C.
Xcode setter opp et nytt prosjekt som er tilpasset rammeverksutvikling.
Strukturen i et rammeverksprosjekt
Etter at De har opprettet rammeverket, vil De se en struktur som denne:
- Public Headers: Disse headerne definerer API-et til rammeverket. Klasser eller metoder som deklareres her, blir synlige for apper som bruker rammeverket.
- Private Headers: Brukes bare internt i rammeverket.
- Project Headers: Headere som brukes under utviklingen av rammeverket, men som ikke eksponeres.
- Umbrella Header: En hovedheaderfil (for eksempel
MyUtilityFramework.h) som importerer alle offentlige headere. Dette er den eneste headeren en app vanligvis importerer.
Eksponere rammeverksklasser
For å gjøre en klasse synlig utenfor rammeverket må headerfilen plasseres i delen «Public» under innstillingene «Build Phases > Headers». La oss opprette en enkel Greeter-klasse:
// Greeter.h
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Greeter : NSObject
- (NSString *)sayHelloTo:(NSString *)name;
@end
NS_ASSUME_NONNULL_END
// Greeter.m
#import "Greeter.h"
@implementation Greeter
- (NSString *)sayHelloTo:(NSString *)name {
return [NSString stringWithFormat:@"Hello, %@!", name];
}
@endUmbrella-headeren
For at brukere enkelt skal kunne importere de offentlige klassene i rammeverket, importerer De vanligvis alle sammen i rammeverkets hovedheader, kalt umbrella-headeren. Denne headeren har vanligvis samme navn som rammeverket (for eksempel MyUtilityFramework.h).
Kontroller at MyUtilityFramework.h inneholder #import , slik at Greeter-klassen eksponeres.
// MyUtilityFramework.h (the umbrella header)
#import <Foundation/Foundation.h>
//! Project version number for MyUtilityFramework.
FOUNDATION_EXPORT double MyUtilityFrameworkVersionNumber;
//! Project version string for MyUtilityFramework.
FOUNDATION_EXPORT const unsigned char MyUtilityFrameworkVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <MyUtilityFramework/PublicHeader.h>
#import <MyUtilityFramework/Greeter.h>Integrere i en Objective-C-app
Når rammeverket er bygget, kan De dra .framework-pakken inn i et Objective-C-prosjekt og deretter bygge den inn under «General > Frameworks, Libraries, and Embedded Content».
Importer deretter umbrella-headeren og bruk klassene Deres!
// main.m (in an Objective-C app)
#import <Foundation/Foundation.h>
#import <MyUtilityFramework/MyUtilityFramework.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
Greeter *myGreeter = [[Greeter alloc] init];
NSString *greeting = [myGreeter sayHelloTo:@"CoddyKit User"];
NSLog(@"%@", greeting);
}
return 0;
}Integrere i en Swift-app
En viktig fordel med rammeverk er at de fungerer direkte sammen med Swift. I motsetning til individuelle Objective-C-filer krever rammeverk ikke en bridging-header når de brukes i Swift!
Når rammeverket er bygget inn i Swift-prosjektet Deres (med de samme trinnene som for Objective-C), importerer De det direkte.
Bruke et rammeverk i Swift
Når rammeverket er importert, kan De opprette instanser av og kalle metoder på Objective-C-klassene i rammeverket direkte fra Swift-kode. Xcode genererer automatisk Swift-grensesnitt for Objective-C-typene Deres.
Prøv å kjøre dette Swift-eksempelet!
// main.swift (in a Swift app)
import Foundation
import MyUtilityFramework // Direct import of the framework
let myGreeter = Greeter()
let greeting = myGreeter.sayHello(to: "Swift Learner")
print(greeting)Kort kontroll av rammeverk
De har lært hvordan De oppretter og bruker Objective-C-rammeverk i både Objective-C- og Swift-prosjekter. La oss teste forståelsen Deres!
Oppsummering: Objective-C-rammeverk
Godt jobbet! I denne leksjonen har du lært:
- Hva rammeverk er: Selvstendige pakker med kode og ressurser.
- Hvordan du oppretter et: Ved å bruke Xcodes rammeverksmal.
- Struktur: Forstå offentlige, private og overordnede headere.
- Integrasjon: Hvordan du bygger inn og bruker Objective-C-rammeverk i både Objective-C- og Swift-applikasjoner.
Rammeverk er kraftige verktøy for gjenbruk av kode og modularitet, spesielt i virksomhetsmiljøer. Fortsett å bygge!
Lær deg Objective-C med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Opprette Objective-C-rammeverk» gratis?
Ja – hele teksten i «Opprette Objective-C-rammeverk» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper inneholder totalt 4 leksjoner.
Hva lærer jeg i «Opprette Objective-C-rammeverk»?
Utvikle og integrere Objective-C-rammeverk som kan brukes av både Objective-C- og Swift-prosjekter. Du øver på Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper?
Ingen tidligere erfaring er nødvendig. Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Opprette Objective-C-rammeverk»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper-leksjonen?
Ja. Alle Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Koble Objective-C til Swift
- Koble Swift til Objective-C
- Opprette Objective-C-rammeverk
- Håndtere nullabilitet og typetilordning på tvers av broen