0

我相信我可以在某处关闭该错误!查看以下引发此错误的代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    NSString *databaseName = @"TasksDB.db";

    NSArray *documentsDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentsDirectoryPath = [documentsDir objectAtIndex:0];

    databasePath = [documentsDirectoryPath stringByAppendingPathComponent:databaseName];

    [self checkAndCreateDatabase];

    // Override point for customization after application launch.
    return YES;
}


-(void) checkAndCreateDatabase 
{

}

抛出 checkAndCreateDatabase 无法识别的错误。这也是因为我没有在接口文件中声明 checkAndCreate... 方法,我不想这样做。

4

3 回答 3

1

在文件中将其声明为私有方法.m

@interface AppDelegate ()

- (void)checkAndCreateDatabase;

@end

@interface AppDelegate

...
于 2012-07-31T15:31:29.657 回答
0

它不应该在包含和源文件中声明为私有方法吗?

于 2012-07-31T15:30:04.727 回答
0

在 .m 文件的开头创建一个类扩展并在那里声明它。这使它远离发布的界面。

(类扩展本质上是空类别,但有特殊的存储声明规则:http: //developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.html

于 2012-07-31T15:30:25.587 回答