【问题标题】:iOS: Passing a string parameter to a function, but it's NULL on the other end?iOS:将字符串参数传递给函数,但另一端为 NULL?
【发布时间】:2014-02-19 20:08:29
【问题描述】:

我正在开发一款 iPad 应用程序,我正在使用 ZipArchive 解压缩我下载的文件。但是,当我尝试打开文件时,我发现 open 方法认为我传入了一个 nil 参数。

NSString* filepath = [[[NSBundle mainBundle] pathForResource:@"help_me.zip" ofType:@"zip"] copy];
ZipArchive* zipArchive = [[ZipArchive alloc] init];
[zipArchive UnzipOpenFile:filepath Password:@"XYZ"];

在“UnzipOpenFile”方法中,调试器说“filePath”为 nil。我不确定为什么会这样。任何想法为什么?

【问题讨论】:

    标签: ios objective-c ziparchive


    【解决方案1】:

    [[NSBundle mainBundle] pathForResource:@"help_me.zip" ofType:@"zip"]
    

    您已指定文件扩展名两次,因此将返回nil (除非您的文件名为“help_me.zip.zip”)。 应该是

    [[NSBundle mainBundle] pathForResource:@"help_me" ofType:@"zip"]
    

    顺便说一句,文件路径不需要copy

    【讨论】:

    • 这是正确的答案。谢谢你。我会在 9 分钟内接受答案(根据 Stack 的规则)。
    猜你喜欢
    • 1970-01-01
    • 2011-05-12
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2020-12-19
    • 2017-04-25
    相关资源
    最近更新 更多