如何在 Objective-c 中的应用程序的资源文件夹中保存文件

2024-02-29

我正在为 iPhone 开发一个 Objective-C 应用程序。我的问题是我的应用程序必须保存从网址获取的图像。我认为该文件夹是只读的。这是我保存图像的代码:

-(void)banner:(NSString *)path{
    NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: path]];
    UIImage *image = [UIImage imageWithData: imageData];
    NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
    NSString* pathEnd =  [resourcePath stringByAppendingFormat:@"/banner.png"];
    NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
    NSError *writeError = nil;
    [data1 writeToFile:pathEnd options:NSDataWritingAtomic error:&writeError];
}

但是当我检索图像时,它不在该文件夹中。我能做些什么?


你不能,应用程序包是只读的。您应该将所有数据保存在文档或缓存目录中。

-(void)banner:(NSString *)path{
    NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: path]];
    UIImage *image = [UIImage imageWithData: imageData];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
    NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"banner.png"];

    NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
    NSError *writeError = nil;

   [data1 writeToFile:filePath options:NSDataWritingAtomic error:&writeError];

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

是否有任何理由先将数据转换为图像,然后再转换回图像NSData又反对?

如果没有,你可以这样做:

-(void)banner:(NSString *)path{
   NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: path]];
   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);         NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"banner.png"];       
   NSError *writeError = nil;
   [imageData writeToFile:filePath options:NSDataWritingAtomic error:&writeError];

   if (writeError) {
      NSLog(@"Error writing file: %@", writeError);
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Objective-c 中的应用程序的资源文件夹中保存文件 的相关文章

  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • iOS 中的词干 - 不适用于单个单词

    我在用NSLinguisticTagger用于词干提取 我能够获得句子中单词的词干 但无法获得单个单词的词干 以下是我正在使用的代码 NSString stmnt i waited NSLinguisticTaggerOptions opt
  • iPhone 上的锁定方向 UIWebView

    有没有办法锁定 UIWebView 的方向 使用 Obj C JS 还是 Html 我不想有按钮或任何东西 我只想在应用程序打开时将其锁定为纵向 好像这个堆栈溢出帖子 https stackoverflow com questions 43
  • 如何检测iPhone是否有视网膜显示屏?

    如何检测 iPhone 是否配备视网膜显示屏 有靠谱的办法吗 要么是纯 PHP 要么最好是 Zend Framework 方式来执行此操作 我通过这个弄清楚了 var retina window devicePixelRatio gt 1
  • 将子视图发送到后面

    我正在尝试模仿 facebook ios 侧面菜单并让它工作 但是我遇到的问题是我无法将侧面菜单发送到后面 正如另一个问题中所讨论的那样使用 Objective C 的 iphone facebook 侧边菜单 https stackove
  • iOS SDK:MapKit MKPolyLine 未显示

    我试图在地图上显示多段线 但该线没有显示 我尝试了很多事情 但注意到似乎有用 我检查了核心数据函数 它正在返回数据 所以这不是问题 它必须是我在地图点创建或地图上绘制的某个地方 我猜 我确信一定是某个地方出了点小错误 但我找不到它 My c
  • UIWebView 内的滑动手势识别

    我已经阅读了很多关于此的问题 但似乎没有一个能够实现我想要的 所以可以说我有一个任意的UIWebView里面的一个UIViewController The UIViewController has a SwipeGestureRecogni
  • UITableViewController 无法识别的选择器发送到实例

    当我传递一个整数时 我有一个 tableviewcontroller 和一个detailtableviewcontroller UITableViewController setSurveyNumber 无法识别的选择器发送到实例 Biza
  • NSUserDefaults、Settings.bundle 和应用程序组

    我有一个有 2 个目标的应用程序 主应用程序和 Today 扩展 为了在这些目标之间共享设置 我打开了应用程序组功能 添加了一个组group myApp com然后使用NSUserDefaults在主应用程序和今日扩展中都是如此 var d
  • Xcode UIWebView 本地 HTML

    我了解 HTML javascript CSS 但我想使用 HTML5 制作一个本机 混合 iPhone 应用程序 但不使用 PhoneGap 或 Nimblekit 之类的东西 我以前从未编写过真正的 非网络应用程序 iPhone 应用程
  • 在 iPhone 上处理电子标签

    知道如何在客户端处理电子标签吗 我们计划在我们的应用程序中使用带有来自服务器的图像的电子标签 关于什么是 eTag 请参阅 http en wikipedia org wiki HTTP ETag http en wikipedia org
  • 获取 UIView 的视图控制器(iphone)

    我这样做是为了获得视图 self superview viewWithTag 10 但我怎样才能获得该视图的视图控制器 就像您可以获得视图控制器的视图一样 我想采用另一种方式 以便我可以向该视图控制器发送消息 调用方法 例如 self su
  • 为什么类方法中的“self = [[Rectangle alloc] init]”是错误的?

    在 Apple 的文档 Objective C 编程语言 中 第 48 页说道 Rectangle rectangleOfColor NSColor color self Rectangle alloc init BAD self setC
  • 如何多次从 NSHTTPCookieStorage 中清除 cookie?

    我的桌面应用程序连接到 Google App Engine 上托管的网络应用程序 一旦通过身份验证 它就会获得一个 authtoken cookie 并为所有未来的请求传递该 cookie 这一切都有效 但现在我想添加 退出 我尝试像这样实
  • 块与代表[重复]

    这个问题在这里已经有答案了 可能的重复 代码块能完全取代委托吗 https stackoverflow com questions 4584404 do code blocks completely replace delegates 我刚
  • 外观代理 - iOS 5 的 setShadowImage 替代品?

    您好 我正在使用此代码来设置导航栏的阴影图像 if self navigationController navigationBar respondsToSelector selector shadowImage UINavigationBa
  • 自定义过渡动画在animationControllerForPresentedController和animateTransition之间未知延迟

    我的目标是使动画在第一个视图控制器中开始并在第二个视图控制器中结束 我正在尝试使用符合以下条件的对象进行过渡动画UIViewControllerAnimatedTransitioning and UIViewControllerTransi
  • 如果图像包含特定颜色则

    是否有一种简单的方法来检查图像是否包含特定的 RGB 颜色 例如 Dim img As Image Image FromFile C image png If img contains color red toRGB then 我认为检查这
  • 如何在 Objective C 类中设置布尔类型属性

    如何在 Objective C 类中使用布尔属性 我是这样做的 property nonatomic copy BOOL locationUseBool 但它给出了错误 具有 复制 属性的属性必须是对象类型 正确的申报方式是什么 您也可以这
  • Objective C“#if”语法

    我对 如果 或 如果 有点困惑 if当我查看一些类时我看到的语法 例如 if someConstant someNumber do something elif etc versus if someConstant someNumber d

随机推荐

  • Zend Framework 2 - 分页

    如何获取控制器操作中的页面详细信息 我使用了专辑的分页 iteratorAdapter new Zend Paginator Adapter Iterator this gt getAlbumTable gt fetchAll pagina
  • 如何清理(防止SQL注入)SQL Server中的动态SQL?

    我们有大量依赖动态 SQL 的 SQL Server 存储过程 存储过程的参数在动态 SQL 语句中使用 我们需要在这些存储过程中使用标准验证函数来验证这些参数并防止 SQL 注入 假设我们有这些约束 我们无法重写过程以不使用动态 SQL
  • 不同语言如何在其标准库中实现排序? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用similar_text()改进PHP字符串匹配?

    我正在使用 PHP 的imilar text 调用来比较两个字符串 但是 我没有得到足够好的结果 例如 对于我希望看到 100 的匹配 我得到的最好结果是 80 95 我还可以使用哪些其他函数来深入了解字符串的核心
  • GCC对读/写指令的重新排序

    Linux 的同步原语 自旋锁 互斥锁 RCU 使用内存屏障指令来强制内存访问指令重新排序 这种重新排序可以由 CPU 本身完成 也可以由编译器完成 有人可以展示一些 GCC 生成的代码示例 其中完成了此类重新排序吗 我主要对 x86 感兴
  • 如何为 Seaborn 混淆矩阵添加正确的标签

    我已经使用将数据绘制成混淆矩阵seaborn但我遇到了一个问题 问题是它只在两个轴上显示从 0 到 11 的数字 因为我有 12 个不同的标签 我的代码如下所示 cf matrix confusion matrix y test y pre
  • 如何在 MS Windows 上加载 GTK Sharp 主题

    我正在 MS Windows 上使用 Xamarin Studio 5 4 编写 GTK Sharp v2 12 应用程序 安装的Mono版本是3 2 3 但我使用 Net工具链进行编译 因为Xamarin不允许我使用Mono工具链进行编译
  • 当listview滚动时edittext设置默认值

    我有带有 edittext 的列表视图和 按钮 当我单击按钮时更改编辑文本值 例如递增 递减 当我设置值时5并滚动列表视图 将 edittext 设置值作为默认值如 0 我正在使用这种方式 public View getView final
  • 将灰度图像转换为 3 通道图像[重复]

    这个问题在这里已经有答案了 我想转换具有形状的灰度图像 height width 到具有形状的 3 通道图像 height width nchannels 这项工作是通过for loop 但一定有一个简洁的方法 这是程序中的一段代码 有人可
  • Pyspark 数据框 LIKE 运算符

    Pyspark 中 LIKE 运算符的等效项是什么 例如我想做 SELECT FROM table WHERE column LIKE somestring 寻找像这样简单的东西 但这不起作用 df select column where
  • 如何覆盖 Rails 中的路线路径助手?

    我的路线是这样定义的 match user id gt user show as gt user 如果由于某种原因传递了 nil ID 我希望路由助手仅返回 如果 ID 不为零 我希望它返回正常路径 如 user 123 或者有没有更好的方
  • 通过 PowerShell 在 Firefox 中打开 URL?

    我希望通过 Powershell 脚本在 Firefox 中打开 url 让事情变得有点困难的是 Firefox 不是默认浏览器 它是一个便携式 Firefox 版本 Edit 我的便携式 Firefox 安装似乎存在一些问题 即使将其设置
  • 文本在空间上改变线条

    我有一个列表 其中留有一些用于缩进的空间 并且还提供了虚线底层 但是 那display用于此列表的属性不匹配 导致文本在找到空格时换行 这里有一个Fiddle http jsfiddle net gsamaras cmfL2643 16 T
  • 过滤掉 HTML 标签并解析 python 中的实体

    因为正则表达式让我害怕 所以我试图找到一种方法来删除所有 HTML 标签并从 Python 中的字符串解析 HTML 实体 Use lxml http lxml de 这是 python 最好的 xml html 库 import lxml
  • 为 Android 应用程序设置 ActionBarSherlock 主题

    阅读下面的更新 2 寻找答案 我正在尝试在我的应用程序中使用 ActionBarSherlock 我查看了 4 0 0 版本项目 github 仓库 https github com JakeWharton ActionBarSherloc
  • Flask-SQLAlchemy 超时错误

    我的后端配置是 乌班图12 04 Python 2 7 烧瓶0 9 Flask SQLAlchemy Postgres 9 2 我收到此错误消息 TimeoutError QueuePool limit of size 5 overflow
  • 如何在代码中使用Python覆盖率

    我想从代码内部捕获覆盖范围 我尝试了下面的一种 但出现错误 请参阅以下链接了解覆盖 API https coverage readthedocs io en v4 5 x api html api https coverage readth
  • 为什么我已经安装了 RabbitMQ 却找不到“rabbitmq.config”文件?

    我正在运行 Red Hat Enterprise Linux 7 2 我已经安装了 RabbitMQ 并systemctl status rabbitmq server shows rabbitmq server service LSB 启
  • 使用多个实例和背景大小时,Firefox 背景图像闪烁

    因此 我在页面上有几个共享背景图像的元素 我的页面正在使用 bootstrap 并且两个元素都是 3 列宽度的容器 每个都有一个背景并通过背景大小包含 在第二个元素上 我将背景宽度设置为 90 因此它比其他背景稍小 在 Firefox 中
  • 如何在 Objective-c 中的应用程序的资源文件夹中保存文件

    我正在为 iPhone 开发一个 Objective C 应用程序 我的问题是我的应用程序必须保存从网址获取的图像 我认为该文件夹是只读的 这是我保存图像的代码 void banner NSString path NSData imageD