Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper · leksjon

Opprette Objective-C-rammeverk

Utvikle og integrere Objective-C-rammeverk som kan brukes av både Objective-C- og Swift-prosjekter.

Leksjon 3 av 411 trinn

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:

  1. Gå til File > New > Project...
  2. Velg malen iOS > Framework & Library.
  3. Velg Framework og klikk på Next.
  4. Gi det et navn, for eksempel MyUtilityFramework.
  5. 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];
}

@end

Umbrella-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!

Gratis å komme i gang

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

  1. Koble Objective-C til Swift
  2. Koble Swift til Objective-C
  3. Opprette Objective-C-rammeverk
  4. Håndtere nullabilitet og typetilordning på tvers av broen
← Tilbake til Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper