Objective-C-frameworks maken
Ontwikkel en integreer Objective-C-frameworks die door zowel Objective-C- als Swift-projecten kunnen worden gebruikt.
Objective-C-frameworks maken is een gratis Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps bevat in totaal 4 lessen.
Wat zijn frameworks?
Welkom! Vandaag duiken we in Objective-C-frameworks. Zie een framework als een zelfstandige bundel met code en resources.
- Frameworks verpakken herbruikbare code, zoals klassen en functies.
- Ze kunnen ook assets bevatten, zoals afbeeldingen of gelokaliseerde tekenreeksen.
- Frameworks bevorderen modulariteit, waardoor je code eenvoudiger in meerdere projecten kunt hergebruiken of aan anderen kunt verspreiden.
Ze zijn essentieel voor het bouwen van complexe apps en het delen van componenten.
Framework versus bibliotheken
Misschien heb je weleens gehoord van statische of dynamische bibliotheken. Waarin verschillen frameworks daarvan?
- Bibliotheken (.a, .dylib) bevatten alleen gecompileerde code.
- Frameworks (.framework) zijn een mappenstructuur waarin code, headers, resources en zelfs andere frameworks zijn gebundeld.
- Door dit zelfstandige karakter zijn distributie en integratie in projecten eenvoudiger.
Op iOS zijn frameworks de voorkeursmanier om herbruikbare componenten te verpakken en te delen.
Een nieuw framework maken
Laten we ons eerste Objective-C-framework maken in Xcode:
- Ga naar File > New > Project...
- Selecteer de sjabloon iOS > Framework & Library.
- Kies Framework en klik op Next.
- Geef het een naam, bijvoorbeeld
MyUtilityFramework. - Controleer of Language is ingesteld op Objective-C.
Xcode stelt een nieuw project in dat is afgestemd op frameworkontwikkeling.
Projectstructuur van een framework
Na het maken van je framework zie je een structuur zoals deze:
- Public Headers: deze headers definiëren de API van je framework. Klassen of methoden die hier worden gedeclareerd, zijn zichtbaar voor apps die je framework gebruiken.
- Private Headers: alleen voor intern gebruik binnen het framework.
- Project Headers: headers die tijdens de frameworkontwikkeling worden gebruikt en niet beschikbaar worden gesteld.
- Umbrella Header: een hoofdbestand (bijvoorbeeld
MyUtilityFramework.h) dat alle openbare headers importeert. Dit is de enige header die een app doorgaans importeert.
Framework-klassen beschikbaar maken
Om een klasse buiten je framework zichtbaar te maken, moet het headerbestand ervan in het gedeelte 'Public' van de instellingen 'Build Phases > Headers' worden geplaatst. Laten we een eenvoudige klasse Greeter maken:
// 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];
}
@endDe umbrella header
Om gebruikers je openbare framework-klassen eenvoudig te laten importeren, importeer je ze meestal allemaal in de belangrijkste umbrella header van het framework. Deze header heeft doorgaans dezelfde naam als je framework (bijvoorbeeld MyUtilityFramework.h).
Controleer of MyUtilityFramework.h #import bevat, zodat onze klasse Greeter beschikbaar wordt gemaakt.
// 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>Integreren in een Objective-C-app
Zodra je framework is gebouwd, kun je de bundel .framework naar een Objective-C-project slepen en deze vervolgens insluiten via 'General > Frameworks, Libraries, and Embedded Content'.
Importeer daarna gewoon de umbrella header en gebruik je klassen!
// 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;
}Integreren in een Swift-app
Een groot voordeel van frameworks is hun directe interoperabiliteit met Swift. In tegenstelling tot afzonderlijke Objective-C-bestanden hebben frameworks geen bridging header nodig wanneer je ze in Swift gebruikt!
Nadat je het framework in je Swift-project hebt ingesloten (volg dezelfde stappen als voor Objective-C), hoef je het alleen rechtstreeks te importeren.
Een framework gebruiken in Swift
Na het importeren kun je rechtstreeks vanuit Swift-code instanties maken van je Objective-C-frameworkklassen en hun methoden aanroepen. Xcode genereert automatisch Swift-interfaces voor je Objective-C-typen.
Probeer dit Swift-voorbeeld uit te voeren!
// 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)Korte controle over frameworks
Je hebt geleerd hoe je Objective-C-frameworks maakt en gebruikt in zowel Objective-C- als Swift-projecten. Laten we je begrip testen!
Samenvatting: Objective-C-frameworks
Goed gedaan! In deze les heb je geleerd:
- Wat frameworks zijn: Zelfstandige bundels voor code en bronnen.
- Hoe je er een maakt: Met de frameworktemplate van Xcode.
- Structuur: Inzicht in openbare, private en overkoepelende headers.
- Integratie: Hoe je Objective-C-frameworks insluit en gebruikt in zowel Objective-C- als Swift-applicaties.
Frameworks zijn krachtige hulpmiddelen voor hergebruik van code en modulariteit, vooral in bedrijfsomgevingen. Blijf bouwen!
Leer Objective-C met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Objective-C-frameworks maken” gratis?
Ja — de volledige tekst van “Objective-C-frameworks maken” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps bevat in totaal 4 lessen.
Wat leer ik in “Objective-C-frameworks maken”?
Ontwikkel en integreer Objective-C-frameworks die door zowel Objective-C- als Swift-projecten kunnen worden gebruikt. Je oefent met Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps te beginnen?
Ervaring vooraf is niet nodig. Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Objective-C-frameworks maken”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps?
Ja. Elke les over Objective-C-iOS-ontwikkeling voor legacy- en bedrijfsapps bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Objective-C met Swift verbinden
- Swift met Objective-C verbinden
- Objective-C-frameworks maken
- Nullability en typekoppeling over de bridge