2015-04-19 6 views
0

У меня есть рабочий код, но теперь найдите необходимость импортировать & сохранить два разных файла Sqlite по электронной почте «Открыть в», я попытался использовать UIAlertView для создания различных путей к файлам, но он работает только с одним способомabsoluteString "handleOpenURL" соответствует имени вложения электронной почты?

- (void)handleOpenURL:(NSURL *)urlx { 
NSData *dbimport = [[NSData alloc] initWithContentsOfURL:urlx]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:dbimport forKey:@"import"]; 
[defaults synchronize]; 
NSLog(@"import saved"); 
databaseName = @"svrStoreData2.sql"; 
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; 
NSError *writeError = nil; 
NSString *filePathx = [documentsPath stringByAppendingPathComponent:databaseName]; [dbimport writeToFile:filePathx atomically:YES]; 
if (writeError) 
{ 
    NSLog(@"Error writing file: %@", writeError); 
} 
} 

Оба файла имеют конкретные имена файлов, так было интересно, если я мог бы использовать «если равна строке» & использования, если заявление после того, как я синхронизированные NSUserDefaults дать два пути сохранения файла опций

Спасибо за любую помощь заранее

Это был мой UIAlertView попробовать

UIAlertView *alertdata = [[UIAlertView alloc] 
        initWithTitle:@"What type of data do you want to import?" 
         message:@"Choose data type" 
        delegate:self 
        cancelButtonTitle:@"Import RM Name Data" 
        otherButtonTitles:@"Import Store Visit Data", nil]; 

NSInteger *buttonIndex = NULL; 
NSLog(@"Button Index =%ld",(long)buttonIndex); 
if (buttonIndex == 0) 
{ 
} 
else if (buttonIndex == 1) 
{ 
    databaseExportName = @"export.sql"; 
     NSArray *pathssqlite3 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *pathssqliteDir2 = [pathssqlite3 objectAtIndex:0]; 
     filePathsqlite3 = [pathssqliteDir2 stringByAppendingPathComponent:databaseExportName]; 
     NSData *dbimport = [[NSData alloc] initWithContentsOfURL:urlx]; 
     NSMutableData *dbimport = [[NSMutableData alloc] initWithContentsOfURL:urlx]; 
     NSError *writeError = nil; 
     [dbimport writeToFile:filePathsqlite3 atomically:YES]; 
     if (writeError) 
     { 
      NSLog(@"Error writing file: %@", writeError); 
     } } [alertdata show]; 

Тем не менее пытается решить, надеялся, что это будет работать, но до сих пор не может взломать его

`- (void)handleOpenURL:(NSURL *)urlx { 
NSData *dbimport = [[NSData alloc] initWithContentsOfURL:urlx]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:dbimport forKey:@"import"]; 
[defaults synchronize]; 
NSLog(@"import saved"); 
if([[urlx absoluteString] isEqualToString:@"svrStoreData2.sql"]) 
{ 
    NSLog(@"If statement called"); 
    // 
    databaseName = @"svrStoreData2.sql"; 
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; 
    NSError *writeError = nil; 
    NSString *filePathx = [documentsPath stringByAppendingPathComponent:databaseName]; 
    [dbimport writeToFile:filePathx atomically:YES]; 
    if (writeError) 
    { 
     NSLog(@"Error writing file: %@", writeError); 
    } 
    // 
    else { 

     databaseExportName = @"export.sql"; 
     NSString *documentsPathy = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; 
     NSError *writeError = nil; 
     NSString *filePathy = [documentsPathy stringByAppendingPathComponent:databaseExportName]; 
     [dbimport writeToFile:filePathy atomically:YES]; 

      if (writeError) 
      { 
       NSLog(@"Error writing file: %@", writeError); 
      } 
     NSLog(@"If statement Not called"); 
    } 
} 

} 

`

ответ

0
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex(NSInteger)buttonIndex { 

    if ([alertView tag] == 14) 

    { 

     if (buttonIndex == 1) 

     { 

      [self reviewSave]; 

     } 
    } 


    if ([alertView tag] == 11) { 

     if (buttonIndex == 1) 

     { 


      NSDictionary *defaultsDictionary = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]; 
      for (NSString *key in [defaultsDictionary allKeys]) { 
       [[NSUserDefaults standardUserDefaults] removeObjectForKey:key];} 
     } 

    } 

Решена проблема, у меня было другой UIAlert, поэтому добавив теги, отсортированные по нему