2012-08-27 37 views
1

我用sql方法創建了一個文件,現在這個文件非常大。我想分解它以獲得最佳實踐和實施簡單性。所以,類別。iOS5,StoryBoards,ARC:奇怪的類別問題

我在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]; 
    [email protected]"world_coins.db"; 
    //[email protected]"ac_ch_ver.1.0.db"; 

    } 
    return self; 
} 

//Tones of methods 

@end 

看起來像代碼是好的。獲取錯誤「未找到DBAccess的接口實現」。我用google搜索了一下,但是所描述的問題並不適合我。

有幫助嗎?先謝謝你。

+0

在DBAccess.m中,您需要@implementation DBAccess來定義實際的實現。 –

+0

這是編譯時,鏈接器時間或運行時的錯誤嗎? –

+0

@Jonathan Grynspan編譯時間。 – NCFUSN

回答

3

的問題是循環進口

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

如果刪除了第一個,代碼編譯。

+0

是的。它有幫助。 – NCFUSN