iOS5,StoryBoards,ARC:奇怪的类别问题

时间:2012-08-27 16:37:42

标签: objective-c ios cocoa-touch categories

我用sql方法创建了一个文件,现在这个文件非常大。我想将它拆分为最佳实践和实现简单性。所以,类别。

我在xCode中创建了新的objective-c类别文件 - > DBAccess + Generals.h(.m)。

·H:

#import "DBAccess.h"

@interface DBAccess (Generals)

-(void)newMeth;

@end

的.m

#import "DBAccess+Generals.h"
#import "DBAccess.h"

@implementation DBAccess (Generals)

-(void)newMeth
{
  NSLog(@"New Meth");
}

@end

在DBAccess.h中

#import <Foundation/Foundation.h>
#import <sqlite3.h>
#import "DBAccess+Generals.h"



@interface DBAccess : NSObject
{
   NSString *databaseName;
}

@property(nonatomic,strong)NSString *databaseName;

DBAccess.m

#import "DBAccess.h"
#import "DBAccess+Generals.h"

@implementation DBAccess
@synthesize databaseName;
sqlite3* database=nil;

-(id)init
{
  if ((self=[super init])) 
  {
    //[self initializeDataBase];
    databaseName=@"world_coins.db";
    //firstVerDB=@"ac_ch_ver.1.0.db";

  }
  return self;
}

//Tones of methods

@end

看起来代码没问题。获得错误“找不到DBAccess的接口实现”。我用谷歌搜索并堆栈溢出,但描述的问题,不是我的情况。

任何帮助?提前谢谢。

1 个答案:

答案 0 :(得分:3)

问题是循环导入

    DBAccess.h 中的
  • #import "DBAccess+Generals.h" DBAccess + Generals.h
  • 中的
  • #import "DBAccess.h"

如果删除第一个,代码就会编译。