0

第一:对不起我的英语不好,我是法国人......

我正在尝试在我的 Xcode 应用程序上添加 2 个解析函数,但我总是遇到同样的错误:

NSFEtchrequest 的接口上没有可见声明选择器

我在 .h 文件中添加了 NSFEtchRequest 信息:

    @interface TableViewControllerRSS : UITableViewController <UIApplicationDelegate> {
        //TableViewControllerRSS *newsRequest;
        NSMutableArray *allNews;
    @private NSManagedObjectModel *managedObjectModel_;
        NSManagedObjectContext *managedObjectContext_;
        NSPersistentStoreCoordinator *persistentStoreCoordinator_;
        NSManagedObject *managedObject_;
        NSFetchRequest *newsRequest;

@property (nonatomic, retain ) NSFetchRequest *newsRequest;

- (NSString *) dateConverter:(NSString *) dateToConvert;

我在我的 .m 文件中添加了:

@synthesize newsRequest;

我正在尝试更改我的 RSS 请求中的日期格式:

前 : cell.dateArt.text = [uneNews datepub];

后 : cell.dateArt.text = [newsRequest dateConverter:[uneNews datepub]];

但问题就在这里:当我调用 newsRequest dateConverter 函数时。

newsRequest 是我的 .m 文件中的 ViewDidLoad :

newsRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"News" inManagedObjectContext:managedObjectContext_];
[newsRequest setEntity:entity];

我的 .m 文件中的日期转换器函数是:

- (NSString *) dateConverter:(NSString *) dateToConvert {

    NSDateFormatter *inputFormat = [[NSDateFormatter alloc] init];
    [inputFormat setDateFormat:@"eee', 'dd MMM yyyy HH:mm:ss '+0000'"];

    NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
    [inputFormat setLocale:usLocale];

    NSDate *formatterDate = [inputFormat dateFromString:dateToConvert];

    NSDateFormatter *outputFormat = [[NSDateFormatter alloc] init];
    [outputFormat setDateFormat:@"dd'/'MM/yy"];

    NSLocale *frLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"fr_FR"];
    [outputFormat setLocale:frLocale];

    NSString *newDate = [outputFormat stringFromDate:formatterDate];

    return newDate;

}

真的很难理解为什么我总是有这个错误!

顺便说一句:感谢每个人的阅读并最终希望提供帮助。

祝你有美好的一天问候马努

4

1 回答 1

0

NSFetchRequest 没有将 " dateConverter" 方法定义为该类的一部分,除非您将其添加为类别的一部分。通过查看“ dateConverter”代码,我不明白为什么它应该成为您的“ NSFetchRequest”对象的一部分。

也许你想dateConverter在你的视图控制器上定义那个“”方法,或者在你的 NSFetchRequest 之外的一些其他对象上?

于 2013-04-23T08:44:54.713 回答