2014-10-16 21 views
19

Ich habe die UIScrollViewSlidingPages und die SSPullToRefresh Bibliotheken in vielen Projekten, aber plötzlich bekomme ich diese seltsamen Fehler in diesem neuen iOS 8 Projekt.iOS 8 Erwartet ein Typ

#import <Foundation/Foundation.h> 

@interface TTSlidingPageTitle : NSObject 

-(id)initWithHeaderText:(NSString*)headerText; 
-(id)initWithHeaderImage:(UIImage*)headerImage; 

//The title text to go in the nav bar 
@property(strong, nonatomic) NSString *headerText; 

//An image to use in the nav bar (if you set this, the title text will not be used) 
@property(strong, nonatomic) UIImage *headerImage; 

@end 

Diese Linie ist die immer "Erwartete eine Art" Fehler:

-(id)initWithHeaderImage:(UIImage*)headerImage; 

Und diese Linie ist immer die "Unbekannter Typ Name UIImage" Fehler:

@property(strong, nonatomic) UIImage *headerImage; 
+0

Sie sollten sicherstellen, dass Sie eine Sprache markieren. Es beeinflusst die Syntaxhervorhebung und hilft anderen, die Frage zu finden. – crashmstr

+0

Meine erste Vermutung ist, dass Sie versehentlich für OSx statt iOS kompilieren. –

+0

Wie würde ich das tun? –

Antwort

69

Wenn Sie die docs für UIImage überprüfen, sehen Sie, dass es in UIKit ist, nicht in Foundation. Die Dokumente sind jetzt alle auf Swift gezielt, was etwas ärgerlich ist, aber Sie werden die Import-Anweisung in der Dokumentation wird angegeben als

@import UIKit; 

, die Sie brauchen am Anfang der Datei (keine Notwendigkeit für die Stiftung sehen Import entweder).

Manchmal enthalten Projekte diese Importanweisung in einer vorkompilierten Headerdatei (PCH). Dies sollte in Build Settings -> Prefix Header referenziert werden, oder es wird nicht in Kompilierung verwendet.

+0

Er sollte das nicht tun müssen - es sollte schon eingerichtet sein, wenn er nicht mit den Vorgaben muckt. (Er sollte die Foundation auch nicht importieren müssen.) –

+0

Wenn Sie ein einfaches neues Projekt in XCode erstellen, fügt es einen Import für UIKit in den App-Delegate-/Vc-Header-Dateien hinzu. (und natürlich nichts für Foundation, denn wie du sagst, ist es nicht nötig). Also ja, er sollte es nicht tun müssen, aber er ist vermutlich schon etwas abseits der ausgetretenen Pfade. Vielleicht vermisst er ein PCH. –

+0

Enorme Hilfe, danke! Wir hatten alle Arten von Kompilierungsfehlern, die versuchten, SSPullToRefresh in einem Swift-Projekt zu verwenden, Dinge wie "UIView ist ein unbekannter Typ". Wir haben UIKit zu unserer Bridging-Datei hinzugefügt, und das hat es gelöst! –