Changeset 666
- Timestamp:
- 09/21/08 21:24:03 (4 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/CoreData/SapphireFrappliance/MetaData/Support/SapphireMetaDataSupport.m
r657 r666 92 92 } 93 93 94 - (void) dealloc 95 { 96 [writeTimer invalidate]; 97 writeTimer = nil; 98 [super dealloc]; 99 } 100 101 94 102 - (void)realWriteMetaData:(NSTimer *)timer 95 103 { 104 NSTimeInterval interval = [writeTimer timeInterval] * 2; 96 105 writeTimer = nil; 97 106 NSManagedObjectContext *context = nil; … … 101 110 context = [timer userInfo]; 102 111 NSError *error = nil; 112 BOOL success = NO; 103 113 @try { 104 [context save:&error];114 success = [context save:&error]; 105 115 } 106 116 @catch (NSException * e) { … … 109 119 if(error != nil) 110 120 NSLog(@"Save error %@", error); 121 if(success == NO) 122 { 123 if(interval == 0) 124 interval = 1; 125 [writeTimer invalidate]; 126 writeTimer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(realWriteMetaData:) userInfo:context repeats:NO]; 127 } 111 128 } 112 129 113 130 - (void)save:(NSManagedObjectContext *)context; 114 131 { 115 /* [writeTimer invalidate];116 writeTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(realWriteMetaData:) userInfo:context repeats:NO];*/117 132 [self realWriteMetaData:(NSTimer *)context]; 118 133 }
