首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否使用absoluteString "handleOpenURL“匹配电子邮件附件名称?

是否使用absoluteString "handleOpenURL“匹配电子邮件附件名称?
EN

Stack Overflow用户
提问于 2015-04-20 00:03:30
回答 1查看 53关注 0票数 0

我有一个工作的代码,但现在发现需要导入和保存两个不同的Sqlite文件通过电子邮件“打开在”选项,我尝试使用UIAlertView创建到不同的保存文件路径,但它似乎只有一种方式工作

代码语言:javascript
复制
- (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);
}
}

这两个文件都有特定的文件名,所以我想知道是否可以使用"if equal to string“&在同步NSUserDefaults之后使用if语句来给出两个文件路径保存选项

提前感谢您的帮助

这是我的UIALertView尝试

代码语言:javascript
复制
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];

仍在尝试解决,希望这能起作用,但仍然无法破解它

代码语言:javascript
复制
 `- (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");
    }
}

}

`

EN

回答 1

Stack Overflow用户

发布于 2015-11-24 23:04:41

代码语言:javascript
复制
- (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,所以通过添加标签对它进行了排序

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29732243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档