web-dev-qa-db-fra.com

Xcode ne reconnaît pas CGFloat / UIFont / CGSize lors de l'utilisation d'Objective-C avec Swift

J'ai créé un nouveau projet Swift et essayé d'importer mon code Objective C existant dans le projet Swift. Tout va bien sauf, Xcode 6 Beta 5 se plaint à propos de CGFloatUIFontCGSize... L'erreur que je vois est

Attendez-vous à un type

et

Nom de type inconnu 'CGFloat'

juste à côté de certaines de mes méthodes. Je pensais que Swift devrait être convivial avec Objective C et accepter tout mon code Objective C mais malheureusement, ce n'est pas le cas.

Toute idée?, Suggestions ou commentaires, je l'apprécierais. Merci.

25
xiaowoo

il suffit d'ajouter ceci dans lequel vous faites face à une erreur

#import <UIKit/UIKit.h>
69
Mohit tomar

Swift

import CoreGraphics

ou

import UIKit

Si tu veux. (UIKit inclut CoreGraphics)

7
Andrey

Si vous avez essayé d'importer du code Objective-C existant, vous créez d'abord un fichier d'en-tête Objective-C dans votre projet Swift....

après avoir cliqué sur cela, l'éditeur a demandé la création de Bridging-Header, vous devez cliquer sur oui:

enter image description here

cela crée yourSwiftProjectName-Bridging-Header.h fichier. . .

Maintenant, importez votre fichier objective-c existant dans votre projet et importez simplement votre fichier d'en-tête dans le fichier Bridging-Header.h par exemple,

si votre fichier objective-c est viewController.h & viewController.m que dans le fichier Bridging-Header.h, écrivez un code de ligne:

#import "viewController.h"

Je pense que ce code fonctionne pour vous. . .

4
iHart