62 lines
2.0 KiB
Objective-C
62 lines
2.0 KiB
Objective-C
//
|
|
// Verb+Create.m
|
|
// Espagram
|
|
//
|
|
// Created by Abel Fokkinga on 11/16/12.
|
|
// Copyright (c) 2012 Abel Fokkinga. All rights reserved.
|
|
//
|
|
|
|
#import "Verb+Create.h"
|
|
|
|
|
|
@implementation Verb (Create)
|
|
|
|
+ (void) addVerb:(NSString *)newVerb andMeaning:(NSString *)meaning toLesson:(Lesson *)lesson
|
|
{
|
|
Verb * verb = [NSEntityDescription insertNewObjectForEntityForName:@"Verb" inManagedObjectContext:[lesson managedObjectContext]];
|
|
|
|
// Check first if the lessons already contains this verb
|
|
for ( Verb * v in lesson.verbs) {
|
|
if ( [newVerb isEqualToString:v.verb]) {
|
|
if (meaning == nil)
|
|
return;
|
|
else if ([meaning isEqualToString:v.meaning])
|
|
return;
|
|
}
|
|
}
|
|
|
|
if ( [lesson.conjugator isEqualToString:@"Spanish"]) {
|
|
if ( newVerb.length >= 2 ) {
|
|
NSString *verbExit = [newVerb substringFromIndex:newVerb.length - 2];
|
|
if ( ![verbExit isEqualToString:@"ar"] &&
|
|
![verbExit isEqualToString:@"er"] &&
|
|
![verbExit isEqualToString:@"ir"] &&
|
|
![verbExit isEqualToString:@"ír"] &&
|
|
![verbExit isEqualToString:@"se"] ) {
|
|
// Not an existing Spanish verb
|
|
return;
|
|
}
|
|
if ( [verbExit isEqualToString:@"se"] && newVerb.length >= 4 ) {
|
|
verbExit = [[newVerb substringFromIndex:newVerb.length - 4] substringToIndex:2];
|
|
if ( ![verbExit isEqualToString:@"ar"] &&
|
|
![verbExit isEqualToString:@"er"] &&
|
|
![verbExit isEqualToString:@"ir"] &&
|
|
![verbExit isEqualToString:@"ír"] ) {
|
|
// Not an existing Spanish verb
|
|
return;
|
|
}
|
|
}
|
|
} else {
|
|
// Verb should be longer than 2 characters
|
|
return;
|
|
}
|
|
}
|
|
NSLog(@"Adding word %@", newVerb);
|
|
verb.verb = newVerb;
|
|
verb.meaning = meaning;
|
|
[lesson addVerbsObject:verb];
|
|
[[lesson managedObjectContext] save:nil];
|
|
};
|
|
|
|
@end
|