UIImageを使おうと思ったら、expected a typeというエラーが出た
小ネタの割にはまった
こんな感じでメソッドを定義したらexpected a typeというエラーが出た。
ImageUtilsというクラスのヘッダファイル[ImageUtils.h]
#import <Foundation/Foundation.h> @interface ImageUtils : NSObject + (UIImage *) makeThumbNail:(UIImage *)orgImage; <<<ここで expected a typeというエラー @end
大抵はimportの循環参照らしいが
このエラーはimportの循環参照が引き起こすらしいが、新しいアプリを書きはじめで怪しい部分などない。ググりまくる。
UIImageはUIKitの中にあるらしい
ちゃんとドキュメント読めと。。。
NSObjectを継承したクラスを作るとデフォルトではFoundationがimportされているが、UIImageはUIKitの方にあるらしい。
#import <UIKit/UIKit.h>
に変えて解決。めでたし。
いやいや、めでたしじゃない。昔のprojectはUIKitなんてimportしてなくてもUIImageつかえたぞ
そう、xcode5時代から作っていたようなprojectではいちいちUIKitをimportしなくてもUIImageを使えていた。
色々調べた結果、pchファイルがxcode6から自動的に作られなくなった事が原因ぽい。
このため今まではあらかじめ読み込まれていたUIKitが読み込まれていなかった。
pchを作る方法はこの辺りが参考になりそう。
Xcode6 PCHファイルがないので追加する - あぷすた - iPhoneとWebとプログラミングと
ということで、めでたし。