制作方法

时间:2015-03-17 03:28:43

标签: ios objective-c methods

我如何将它变成一个接受NSArray类型的对象的方法,该对象称为 objects ,并且可以从不同的视图控制器调用,例如最后一个名为 saveContext 的方法?

//Save to Core Data

CoreDataStack *coreDataStack = [CoreDataStack defaultStack];
LeanMessage *message = [NSEntityDescription insertNewObjectForEntityForName:@"LeanMessage" inManagedObjectContext:coreDataStack.managedObjectContext];

for (NSDictionary *lean in objects)
{        
    [message setValue:[lean objectForKey:@"objectId"] forKey:@"objectId"];
    [message setValue:[lean objectForKey:@"senderId"] forKey:@"senderId"];
    [message setValue:[lean objectForKey:@"recipientId"] forKey:@"recipientId"];
    [message setValue:[lean objectForKey:@"messageBody"] forKey:@"body"];
    [message setValue:[lean objectForKey:@"timestamp"] forKey:@"timestamp"];    
}

[coreDataStack saveContext];

1 个答案:

答案 0 :(得分:0)

.h档案

@interface ...

...
- (void)myMethod: (NSArray *)objects;

@end

m档案

- (void)myMethod: (NSArray *)objects
{
    CoreDataStack *coreDataStack = [CoreDataStack defaultStack];
    LeanMessage *message = [NSEntityDescription insertNewObjectForEntityForName:@"LeanMessage" inManagedObjectContext:coreDataStack.managedObjectContext];

    for (NSDictionary *lean in objects){
        [message setValue:[lean objectForKey:@"objectId"] forKey:@"objectId"];
        [message setValue:[lean objectForKey:@"senderId"] forKey:@"senderId"];
        [message setValue:[lean objectForKey:@"recipientId"] forKey:@"recipientId"];
        [message setValue:[lean objectForKey:@"messageBody"] forKey:@"body"];
        [message setValue:[lean objectForKey:@"timestamp"] forKey:@"timestamp"];
    }

    [coreDataStack saveContext];
}

如果你想从另一个类访问它,如果你当前的类的名字是myClass,那么在你要访问它的类中,只需执行以下操作:

NSArray *anotherArray = ...
myClass *thisClass = [[myClass alloc] init];
[thisClass myMethod:anotherArray];

希望这能回答你的问题。 :)