首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSString变量不是NSstring

NSString变量不是NSstring
EN

Stack Overflow用户
提问于 2013-04-12 05:27:39
回答 3查看 346关注 0票数 1

我对NSString变量有一个问题。

.h文件

代码语言:javascript
复制
    NSString *strDeleteFilePath;
    @property (nonatomic,retain) NSString* strDeleteFilePath;

.m文件

代码语言:javascript
复制
    @synthesize strDeleteFilePath;

//之后,单击“删除”按钮

代码语言:javascript
复制
    -(IBAction)deleteButton:(id)sender {
        UIButton *bt=(UIButton *)sender;
        strDeleteFilePath=[FunctionManager getDocumentDirectoryPath:@"MyPhotos"];
        strDeleteFilePath=[NSString stringWithFormat:@"%@/%@",strDeleteFilePath,[arrSaveImage objectAtIndex:bt.tag]];
        NSLog(@"strDeletePath=%@",strDeleteFilePath);

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"Are you sure you want to delete this photo" delegate:self cancelButtonTitle:@"Delete" otherButtonTitles:@"Cancel", nil];
        [alert show];
        [alert release];
    }

nslog在字符串中打印正确的路径如下:

strDeletePath=/Users/Samir/Library/Application支持/iPhone Simulator/6.0/Applications/A72B7488-ABCB-48EC-91D0-CEE87FA121FE/Documents/MyPhotos/Dt20130411164806.png

当单击警报视图中的“删除”按钮.

代码语言:javascript
复制
   - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
       if (buttonIndex == 0){
           NSFileManager *fileManager = [NSFileManager defaultManager];
           NSError *error = nil;
           if(![fileManager removeItemAtPath:strDeleteFilePath error:&error]) {
               NSLog(@"Delete failed:%@", error);
           } else {
               NSLog(@"image removed: %@", strDeleteFilePath);
           }
           [self setScrollviewItem];
       }
   }

它在网上崩溃,如果()并给出以下错误ExE_BAD..ACCESS.

谢谢,提前。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-12 05:32:23

使用self. strDeleteFilePath而不是strDeleteFilePath

票数 3
EN

Stack Overflow用户

发布于 2013-04-12 05:32:32

尝尝这个

代码语言:javascript
复制
-(IBAction)deleteButton:(id)sender {
    UIButton *bt=(UIButton *)sender;
    strDeleteFilePath=[FunctionManager getDocumentDirectoryPath:@"MyPhotos"];
    strDeleteFilePath=[[NSString alloc] initWithFormat:@"%@/%@",strDeleteFilePath,[arrSaveImage objectAtIndex:bt.tag]]; //change is here
    NSLog(@"strDeletePath=%@",strDeleteFilePath);

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"Are you sure you want to delete this photo" delegate:self cancelButtonTitle:@"Delete" otherButtonTitles:@"Cancel", nil];
    [alert show];
    [alert release];
}
票数 0
EN

Stack Overflow用户

发布于 2013-04-12 06:06:15

代之以:

代码语言:javascript
复制
 if(![fileManager removeItemAtPath:strDeleteFilePath error:&error]) {
           NSLog(@"Delete failed:%@", error);
       } else {
           NSLog(@"image removed: %@", strDeleteFilePath);
       }

通过以下方式:

代码语言:javascript
复制
if([fileManager fileExistsAtPath: strDeleteFilePath])
{
   [fileManager removeItemAtPath: strDeleteFilePath error: nil];
}
else{
   NSLog(@"File not found");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15963725

复制
相关文章

相似问题

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