我对Xcode有问题:

目前,我正在为iOS SDK 6.1开发应用程序。前几天,我正在实现一些方法,并尝试编译该项目。
然后发生了一些奇怪的事情:

编译失败,我在两个文件中遇到了一些错误(请参见下图),这些错误与我使用的方法无关。

ios - Xcode 4.6.3中的解析问题- "Expected a type"-找不到错误-LMLPHP

我在代码中搜索了错误,但找不到任何错误。
然后我关闭了该项目并再次打开它:他们仍然在这里。
然后,我关闭了该项目,并关闭了Xcode,然后重新打开了它们:它们仍然在这里。
然后,我创建了一个新项目并复制了所有代码:问题再次出现。

现在我被困住了,不知道该怎么办。我会错过代码中的某些内容吗?

请帮助我!

---

编辑1:

以下是一些代码片段,在遵循Martin R的建议之后,这些片段应该显示我的代码:

//  PlayingCardDeck.h
@class PlayingCard;
@interface PlayingCardDeck : NSObject
- (void) addCard: (PlayingCard *) card atTop: (BOOL) atTop;
- (PlayingCard *) drawRandomCard;
- (BOOL) containsCard: (PlayingCard *) card;
- (BOOL) isCardUsed: (PlayingCard *) card;
- (void) drawSpecificCard: (PlayingCard *) card;
- (void) reset;
@end
//  PlayingCardDeck.m
#import "PlayingCardDeck.h"
@interface PlayingCardDeck()
//  PlayingCard.h
#import <Foundation/Foundation.h>
#import "RobinsConstants.h"
#import "PlayingCardDeck.h"
//@class PlayingCardDeck;
@interface PlayingCard :  NSObject
+ (NSArray*) suitStrings;
+ (NSArray*) rankStrings;
+ (NSUInteger) maxRank;
- (id)initCardWithRank: (NSUInteger) r andSuit: (NSString*) s;
- (NSString*) description;
- (NSUInteger) pokerEvalRankWithDeck: (PlayingCardDeck *) deck;
- (NSAttributedString *) attributedContents;
- (BOOL) isEqual:(PlayingCard*)object;
@property (strong, nonatomic) NSString *contents;
@property (nonatomic, getter = isUsed) BOOL used;
@property (nonatomic, readonly) NSInteger rank;
@property (nonatomic, readonly, strong) NSString * suit;
@end
//  PlayingCard.m
#import "PlayingCard.h"
@interface  PlayingCard()

最佳答案

看起来像一个典型的“导入周期”:

 // In PlayingCardDeck.h:
 @import "PlayingCard.h"

 // In PlayingCard.h:
 @import "PlayingCardDeck.h"

@import替换@class语句之一应该可以解决此问题,例如
 // In PlayingCardDeck.h:
 @class PlayingCard; // instead of @import "PlayingCard.h"

在实现文件中,您必须导入完整的接口(interface):
 // In PlayingCardDeck.m:
 #import "PlayingCardDeck.h"
 #import "PlayingCard.h"    // <-- add this one

10-07 19:43
查看更多