如何判断目标在Objective-C中是否可写?

如何判断目标在Objective-C中是否可写?,第1张

概述我想使用一个打开的面板让用户选择一个目的地,但我想在那一点提醒他们该目录是不可写的.我通常更喜欢创建它并处理错误,但这对我来说没用,因为我还不想创建文件夹. (当我创建它时,我肯定会处理错误,如果有的话.) 我认为可能有一个更好的方法,而不是只是创建它并删除它,这会很臭. 我尝试这样做,认为“文件”可能意味着文件或目录像其他一些方法. NSFileManager *fm = [NSFileMana 我想使用一个打开的面板让用户选择一个目的地,但我想在那一点提醒他们该目录是不可写的.我通常更喜欢创建它并处理错误,但这对我来说没用,因为我还不想创建文件夹. (当我创建它时,我肯定会处理错误,如果有的话.)

我认为可能有一个更好的方法,而不是只是创建它并删除它,这会很臭.

我尝试这样做,认为“文件”可能意味着文件或目录像其他一些方法.

NSfileManager *fm = [NSfileManager defaultManager];[fm isWritablefileAtPath:destinationString]

(我不确定我是否想要提供身份验证来覆盖权限,但请随时告诉我如何.)

解决方法 目录的路径以“/”结尾.假设您的代码是:

Nsstring* destinationString = [[panel URL] path];[fm isWritablefileAtPath:destinationString];

你最终会得到一个不以“/”结尾的destinationString,因此isWritablefileAtPath:将测试写入名为“someDir”的文件而不是文件夹“someDir”的可能性.

快速解决方法是:

Nsstring* destinationString = [[panel URL] path];if (![destinationString hasSuffix:@"/"])    destinationString = [destinationString stringByAppendingString:@"/"];[fm isWritablefileAtPath:destinationString];
总结

以上是内存溢出为你收集整理的如何判断目标在Objective-C中是否可写?全部内容,希望文章能够帮你解决如何判断目标在Objective-C中是否可写?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1011879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存