3

我知道这是一个新手问题,但我很困惑。我应该如何从另一个类调用类方法,还是不应该?

这是我的ClassACoreDataHelper

#import <Foundation/Foundation.h>

@interface ClassA : NSObject {

}

@property (nonatomic, retain) NSString * sessionId;
@property (nonatomic, retain) NSString * token;
@property (nonatomic, retain) NSString * userid;

+ (void) pullOfflineDataWithContext:(NSManagedObjectContext *)managedObjectContext ;
@end


#import "ClassA.h"
#import "CoreDataHelper.h"

@implementation ClassA


+ (void) pullOfflineDataWithContext:(NSManagedObjectContext *)managedObjectContext  {

    // get Contacts, Accounts, Meetings into Core Data

     bool asd =[CoreDataHelper insertAllObjectsForEntity:@"Contact" andContext:managedObjectContext initCoreData:jsonDict];

}
@end

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>

@interface CoreDataHelper : NSObject

//For inserting objects
+(BOOL)insertAllObjectsForEntity:(NSString*)entityName andContext:(NSManagedObjectContext *)managedObjectContext;

@end
4

2 回答 2

1

您正在以正确的方式从另一个类方法调用一个类方法,只是方法签名与声明的不同;

bool asd =[CoreDataHelper insertAllObjectsForEntity:@"Contact" 
                                         andContext:managedObjectContext 
                                       initCoreData:jsonDict];

+insertAllObjectsForEntity:andContext: 的声明没有上面调用代码中的最后一个

+(BOOL)insertAllObjectsForEntity:(NSString*)entityName 
                      andContext:(NSManagedObjectContext *)managedObjectContext;
于 2012-10-18T14:29:28.987 回答
0

像:

[ClassName method];

代替:

[instance method];

在您的示例中将是:

[ClassA pullOfflineDataWithContext];
于 2012-10-18T14:27:39.733 回答