Unknown type name 'MyClass'; did you mean 'SomeClass'?
クラス名が解決できない場合に出るメッセージですが、ヘッダファイルをimportしているのに発生することがあります。その場合は相互参照している可能性があります。
次のような場合に発生します。
#import "MyClass2.h"
@interface MyClass1
@property MyClass2 *myClass2;
@property MyClass2 *myClass2;
@end
#import "MyClass1.h"
@interface MyClass2
@property MyClass1 *myClass1;
@end
この場合は一方のクラスでimportの代わりに@classを使うようにすると解決します。
@class MyClass2;
@interface MyClass1
@property MyClass2 *myClass2;
@end
#import "MyClass1.h"
@interface MyClass2
@property MyClass1 *myClass1;
@endMyClass1のimplementationでMyClass2をimportする必要があります。
0 件のコメント:
コメントを投稿