Objective-C iOS Development for Legacy & Enterprise Apps · Leçon

Relier Objective-C à Swift

Comprenez comment exposer des classes et des méthodes Objective-C à Swift à l'aide de l'en-tête de liaison

Leçon 1 sur 411 étapes

Relier Objective-C à Swift est une leçon Objective-C iOS Development for Legacy & Enterprise Apps gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Objective-C iOS Development for Legacy & Enterprise Apps, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Objective-C iOS Development for Legacy & Enterprise Apps comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Bridging Obj-C to Swift

Welcome! In modern iOS development, you'll often encounter projects that mix Swift and Objective-C. This is especially true for legacy apps or when integrating older libraries.

This lesson teaches you how to make your existing Objective-C code accessible and usable within a Swift project, a process known as bridging.

The Bridging Header

The key to using Objective-C code in Swift is the bridging header. This is a special Objective-C header file that tells the Swift compiler which Objective-C classes, categories, and protocols it should expose to your Swift code.

Think of it as a translator's dictionary for your project.

Xcode's Automatic Helper

When you add your first Objective-C file (.h or .m) to an existing Swift project, Xcode will often prompt you:

  • "Would you like to configure an Objective-C bridging header?"

If you click 'Create Bridging Header', Xcode automatically sets up the file and configures your project's build settings for you. It's usually named YourProjectName-Bridging-Header.h.

Manual Setup Steps

If Xcode doesn't prompt you, or if you need to create one later, you can do it manually:

  1. Create a new header file (File > New > File > Header File) and name it YourProjectName-Bridging-Header.h.
  2. In your project's Build Settings, search for 'Objective-C Bridging Header'.
  3. Set the path to your new header file (e.g., $(SRCROOT)/YourProjectName/YourProjectName-Bridging-Header.h).

Importing Obj-C Files

Once you have your bridging header (whether created automatically or manually), you simply import the Objective-C header files (.h files) of the classes you want to use in Swift.

You do this using the standard Objective-C #import directive inside your bridging header:

#import "MyObjectiveCClass.h"

Do NOT import Swift files into the bridging header!

Example: Simple Obj-C Class

Let's define a simple Objective-C class called MyLogger. We'll put its header in our bridging header.

// MyLogger.h

#import <Foundation/Foundation.h>

@interface MyLogger : NSObject

- (void)logMessage:(NSString *)message;
- (NSString *)getGreetingForName:(NSString *)name;

@end

This class has two methods: one to log a message and one to return a personalized greeting.

Implementation of MyLogger

Here's the implementation for our MyLogger class:

// MyLogger.m

#import "MyLogger.h"

@implementation MyLogger

- (void)logMessage:(NSString *)message {
    NSLog(@"[MyLogger] %@", message);
}

- (NSString *)getGreetingForName:(NSString *)name {
    return [NSString stringWithFormat:@"Hello, %@!", name];
}

@end

Remember, you'd add #import "MyLogger.h" to your YourProjectName-Bridging-Header.h.

Using Obj-C in Swift

Once MyLogger.h is imported into the bridging header, Swift can see and use MyLogger just like any other Swift class! Notice how Objective-C methods are automatically translated into a more Swift-like syntax.

Try running this example:

import Foundation

// Assume MyLogger is available via the bridging header
// In a real project, MyLogger.m and .h would be compiled

@objcMembers
class MyLogger: NSObject {
    func logMessage(_ message: String) {
        print("[MyLogger] \(message)")
    }
    
    func getGreetingForName(_ name: String) -> String {
        return "Hello, \(name)!"
    }
}

// --- Swift code using the bridged class ---
let logger = MyLogger()
logger.logMessage("This is a message from Swift!")

let greeting = logger.getGreetingForName("CoddyKit Learner")
print(greeting)

Type Mapping & Naming

Swift automatically maps many Objective-C types to their Swift equivalents:

  • NSString becomes String
  • NSArray becomes Array
  • NSDictionary becomes Dictionary
  • NSError becomes Error

Objective-C methods are also often renamed to fit Swift's naming conventions (e.g., - (void)logMessage:(NSString *)message; becomes func logMessage(_ message: String)).

Quick Check

You've learned about the bridging header. How does it enable Objective-C code to be used in Swift?

Recap: Bridging Success!

Great job! You've learned the fundamentals of bridging Objective-C code to Swift.

  • The bridging header is your gateway.
  • Xcode can auto-create it.
  • You #import Objective-C header files into it.
  • Swift automatically handles type mapping and naming conventions.

This skill is vital for working on mixed-language projects and integrating with existing Objective-C libraries!

Gratuit pour commencer

Apprends Objective-C avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Relier Objective-C à Swift » est-elle gratuite ?

Oui — le texte complet de « Relier Objective-C à Swift » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Objective-C iOS Development for Legacy & Enterprise Apps, passe à CoddyKit PRO. Le cours Objective-C iOS Development for Legacy & Enterprise Apps comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Relier Objective-C à Swift » ?

Comprenez comment exposer des classes et des méthodes Objective-C à Swift à l'aide de l'en-tête de liaison Tu pratiques Objective-C iOS Development for Legacy & Enterprise Apps avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Objective-C iOS Development for Legacy & Enterprise Apps ?

Aucune expérience préalable n'est requise. Objective-C iOS Development for Legacy & Enterprise Apps sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Relier Objective-C à Swift » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Objective-C iOS Development for Legacy & Enterprise Apps ?

Oui. Chaque leçon Objective-C iOS Development for Legacy & Enterprise Apps inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Relier Objective-C à Swift
  2. Relier Swift à Objective-C
  3. Création de frameworks Objective-C
  4. Gérer la nullabilité et le mappage des types entre les ponts
← Retour à Objective-C iOS Development for Legacy & Enterprise Apps