2014-10-16 27 views
19

Ho le librerie UIScrollViewSlidingPages e SSPullToRefresh in molti progetti, ma all'improvviso, sto ricevendo questi strani errori in questo nuovo progetto iOS 8.iOS 8 Previsto un tipo

#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 

Questa linea è sempre la "Ci aspettavamo un tipo di" errore:

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

E questa linea è sempre il "tipo sconosciuto Nome UIImage" errore:

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

È necessario assicurarsi di contrassegnare una lingua. Colpisce l'evidenziazione della sintassi e aiuta gli altri a trovare la domanda. – crashmstr

+0

La mia prima ipotesi è che si sta accidentalmente compilando per OSx invece di iOS. –

+0

Come potrei farlo? –

risposta

69

Se controlli lo docs per UIImage vedrai che è in UIKit, non in Foundation. I documenti sono ora tutte rivolte a Swift, che è un po 'fastidioso, ma vedrete l'istruzione import nella documentazione è specificato come

@import UIKit; 

cui è necessario nella parte superiore del file (non è necessario per la Fondazione importare entrambi).

Talvolta i progetti includono questa istruzione di importazione in un file di intestazione precompilato (pch). Questo dovrebbe essere fatto riferimento in Build Settings-> Prefix Header, o non sarà usato nella compilazione.

+0

Non dovrebbe aver bisogno di farlo - dovrebbe essere già impostato se non è a conoscenza delle impostazioni predefinite. (Non dovrebbe essere necessario importare neanche Foundation.) –

+0

Se si crea un nuovo progetto semplice in XCode, si aggiungerà un'importazione per UIKit nei file di intestazione delegato/vc dell'app. (e, naturalmente, nulla per la Fondazione, perché come dici tu, non è necessario). Quindi sì, non dovrebbe aver bisogno di farlo, ma è presumibilmente un po 'troppo battuto. Forse gli manca un colpo. –

+0

Un aiuto tremendo, grazie! Abbiamo avuto tutti i tipi di errori di compilazione cercando di utilizzare SSPullToRefresh in un progetto Swift, ad esempio "UIView è un tipo sconosciuto". Abbiamo aggiunto UIKit al nostro file di bridging e questo lo ha risolto! –