问题标签 [nsbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
14909 浏览

objective-c - NSTask 启动路径不可访问

我在我的 Cocoa 项目中使用以下代码来调用我制作的脚本。该脚本与项目位于同一文件夹中,甚至显示在 Xcode 中的“资源”文件夹下。找到了正确的路径,但它仍然说该路径不可访问。请帮忙。

我在调试器中得到的输出是:

2010-07-10 17:53:26.384 tester[5023:a0f] /Users/guest/Library/Developer/Xcode/DerivedData/tester-bhukztmqjwoqrwereagsshvtbfqx/Build/Products/Debug/tester.app/Contents/Resources/script.sh

2010-07-10 17:53:26.386 tester[5023:a0f] launch path not accessible

0 投票
1 回答
2913 浏览

objective-c - NSBundle bundleWithPath 失败

我正在尝试使用 bundleWithPath 加载一个包,但它总是失败(返回 nil)我想知道它失败的原因是什么,以及有什么方法可以获取有关错误的更多信息。

在此先感谢您的帮助!

问候,

0 投票
1 回答
5860 浏览

iphone - UIView 未使用 setFrame 定位

我可能没有正确执行此操作。在我做对我来说很自然的事情之前,我还没有做过 iPad 应用程序。

我有一个由其他 UIView 组成的 UIView。具体来说,我想动态地创建子视图并将其添加到每个子视图。换句话说:

我设法通过在它的 initWithFrame 中添加这段代码来加载 xib 来获得“动态 UIView 1”:

有用!我遇到的问题是“动态 UIView n”总是呈现在屏幕的左上角。如果我尝试使用 setFrame 更改位置,我会在表示框架时得到一个黑框,但实际控制内容仍保留在左上角。

有任何想法吗?有一个更好的方法吗?

- - - 更新 - - -

这是根视图的屏幕截图。 主 UIView 概览 http://www.freeimagehosting.net/uploads/460090996d.png

整个控件调用CurrentItemsViewController。绿色区域是一个 UIView,我通过 IB 中的链接将其链接回代码中,在代码示例中它被称为“itemsUIView”。这是我在 CurrentItemsViewController.m 中添加项目的方式

在 ItemView.m 我有这个,它只被方法 2 和 3 调用。

如图所示,我尝试以 3 种不同的方式创建 ItemView,并且每一种都呈现相同的结果。当我将视图添加为根视图的子视图时,我得到了这个。请注意,一个正方形出现在它应该呈现的位置,但 ViewItem 实际上呈现在左上角。在上面的示例中,当我添加 subItemView1 时,它根本不会呈现任何内容。

替代文字 http://www.freeimagehosting.net/uploads/c6635ce860.png

0 投票
1 回答
3696 浏览

iphone - iPhone:无法从 MainBundle 复制到 NSDocumentDirectory

我正在尝试将几个图像文件从我的 MainBundle/SampleImages 文件夹复制到应用程序 NSDocumentDirectory/Library 文件夹,但我无法这样做。我检查了图像是否在 .app/Mainbundle/SampleImages 目录中,并且我还检查了库文件夹是否正在 NSDocumentsDirectory 中创建,但没有复制任何文件。

我尝试了两种方法,如下所示,但没有成功。这是我用来复制文件的代码。

第一种方法

第二种方法

我花了几个小时寻找解决方案,这里的任何帮助将不胜感激。

谢谢你

舒迈斯·乌尔哈克

0 投票
3 回答
21579 浏览

objective-c - Objective-C 中的 NSBundle 和 mainBundle 是什么?

关于iOS应用上的Objective-C,我在Apple开发者网站上阅读了一些示例程序,发现几乎所有的应用程序都包含一个叫做' NSBundle '' mainBundle '的词,我真的不明白这个的意思单词。那是什么?

0 投票
1 回答
6848 浏览

iphone - 更改当前 iphone 应用程序的语言环境(NSBundle 的自定义语言环境?)

我想在我的 iphone 应用程序中以编程方式更改语言环境(基本上是因为 iphone 本身并不支持所有语言,因此用户应该可以仅为我的应用程序切换语言)。我在另一个问题上看到了如何强制 NSLocalizedString 使用OSX 应用程序上的特定语言?它应该与 [[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"de", nil] forKey:@"AppleLanguages"]; - 但对我来说它没有...... [NSLocale currentLocale] 仍然返回系统范围的语言环境,并且“主包”为我提供来自系统范围的语言环境的文件..

所以..有没有办法为我的应用程序设置自定义语言环境?或者 - 这对我来说就足够了 - 创建一个具有不同语言环境的新 NSBundle 实例?

0 投票
2 回答
1305 浏览

objective-c - 如何跨多个项目在 Cocoa Touch 中实现服务定位器模式?

这是一个困扰我一段时间的问题。我对其中一些模式还是很陌生,所以如果我错误地使用了任何术语,你必须原谅我(并纠正我)。

我的方法论

我创建了一个游戏引擎。我的游戏引擎中的所有对象都使用控制反转来获取依赖关系。这些依赖项都实现了协议,并且从不直接在项目中访问,除了在引导阶段之外。为了得到这些对象,我有了服​​务定位器的概念。服务定位器的工作是定位符合特定协议的对象并将其返回。它很像一个工厂,但它也应该处理依赖关系。

为了向服务定位器提供服务,我有我所说的服务说明符。服务定位器知道项目中的所有服务说明符,并且当请求一个对象时,尝试从它们中的每一个中获取符合所提供协议的对象实例。然后将该对象返回给调用者。这个设置很酷的是服务说明符也知道服务定位器,所以如果它有任何依赖关系,它只会向服务定位器询问那些特定的依赖关系。

举个例子,我有一个名为 HighScoreManager 的对象。HighScoreManager 实现了 PHighScoreManager 协议。在任何时候,如果需要 PHighScoreManager 的实例,可以通过调用来检索它:

因此,控制反转。然而,大多数时候甚至没有必要这样做,因为大多数类都位于服务说明符中,如果需要 PHighScoreManager 作为依赖项,则通过服务定位器检索它。因此,我有一个很好的平面控制反转方法。

我的问题

因为我希望共享游戏引擎中的代码,所以我将其编译为静态库。这对其他一切都非常有用,但服务定位器似乎有点棘手。问题是一些服务会随着游戏的变化而变化。在我上面的例子中,一场比赛中的得分可能是时间,而在另一场比赛中可能是积分。因此,HighScoreManager 依赖于 PHighScoreCreator 的一个实例,它告诉它如何创建一个 PScore 对象。

为了向 HighScoreManager 提供 PHighScoreCreator,我需要为我的游戏提供服务说明符。我能想到的唯一方法是使用 Cocoa 版本的反射。在挖掘之后,我发现类可以通过 NSBundle 发现,但似乎没有办法获得当前的包。因此,如果我希望能够搜索我的服务说明符,我将不得不将我的游戏逻辑编译到它自己的包中,然后让引擎搜索这个包并加载它。为了做到这一点,我必须创建第三个项目来容纳引擎代码和游戏逻辑包,而实际上我只想拥有一个使用引擎静态库的游戏项目。

我真正的问题

所以毕竟,我的问题是

  1. 有没有更好的方法来做我想要在 Cocoa Touch 中完成的事情,或者
  2. 有没有办法从主包中发现符合我的服务说明符协议的类?

感谢您的帮助并花时间阅读问题。

-螺旋状

0 投票
2 回答
5992 浏览

iphone - 获取 iPhone mainBundle 文件

我不知道在我的 iphone 应用程序 mainBundle 中检索所有资源文件名所需的确切代码。如果我可以有某种代码,例如:

这会很有帮助。感谢您的帮助!

0 投票
1 回答
358 浏览

nsstring - 如何在资源文件夹中加载图像?

我的 iPhone 项目中有一张图片。这是一个 PNG,我可以在 Interface Builder 中设置背景,但我想以编程方式执行此操作。

以上是我的按钮中的代码。它不显示 dock.png 文件。

更新。我已经修改了代码,因此 IF 语句将始终执行并且它仍然不会加载图像。修改代码如下!

0 投票
3 回答
6569 浏览

iphone - 从几个不同的 UIViewControllers 从 NIB 文件加载视图

我一直在使用本网站上的方法成功地从 Nib 文件加载视图

问题是,因为我们必须设置文件所有者,所以这个 nib 文件会“附加”到这个视图控制器。这个视图是的子类,UITableViewCell我想从几个不同的 vc 加载这个 nib 文件。谢谢你的帮助。