问题标签 [loadnibnamed]

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 投票
2 回答
1054 浏览

objective-c - Objective C - 从笔尖加载 UIView?

nib我有一个从文件初始化自身的基类。我怎样才能继承这个class。每次我初始化subclass它时,它都会创建一个基类的对象,而不是class我试图创建的实际对象

基类

一类

用法

0 投票
2 回答
2361 浏览

cocoa-touch - 如何以编程方式更改在 nib 文件中创建的 UIView 中的标签?

我无法以编程方式更改标签中的文本。

当我运行以下代码时,NSLog 确实显示“将 myLabel 设置为 = Hello World!”,但屏幕上的标签没有更改。

我的 NIB 文件有一个带有一些标签和按钮的 300x300 窗口。有一个标签,它连接到插座中的 myLabel。UIView 确实显示,只是无法以编程方式更改文本。

UIViewOverlay.h

UIViewOverlay.m

提前致谢..

0 投票
1 回答
3394 浏览

objective-c - loadNibName 方法太慢 - 如何让它更快?

我有一个滚动视图,其中包含大约 40-50 个不同类型的对象。对象的类型是在对象位置的函数中定义的(例如,如果是滚动视图中的第 5 个对象-> 是 Object1,如果它是滚动视图中的第 11 个对象-> 它是 Object2 类型等)。使用 for 我正在验证数组的每个元素,然后使用以下方法将它们放入滚动视图中:

我的问题是,它加载非常缓慢。我能做些什么来让它更快?

0 投票
1 回答
1196 浏览

ios - 如何从不同的文件夹加载 nib 文件?

我正在尝试根据运行时的某些条件从子文件夹中加载 NiB 文件。问题是当我调用方法 pathForResource 时代码能够找到 NIB 文件,但是当我运行应用程序时,我总是收到以下错误

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法在包中加载NIB:'NSBundle

这是我的代码:

0 投票
1 回答
881 浏览

xcode - LoadNibNamed 没有设置插座

我正在尝试将 NSPopOver 添加到我的应用程序中,但仅在运行 10.7 或更高版本时才加载它。我已将弹出框、视图控制器和视图放在单独的 xib 中,并已将其加载

从我的应用程序代表的 awakeFromNib 方法内部。xib 加载正常(加载为 YES),但指向 NSPopover 的出口保持为空。在 awakeFromNib 方法中加载 xib 是否有问题?

有趣的是,当我没有在文件名中包含 .xib 扩展名时,它崩溃了。

0 投票
3 回答
2687 浏览

xcode - 如何在 Cocoa 或 Xcode 编程中使用 mainmenu nib (xib) 文件设置环境(设置环境变量)?

我是 Cocoa 编程和 Xcode 的新手。我想知道如何使用 MainMenu.nib(或 .xib)文件设置环境(或设置环境变量)。我在主函数中有其他人的代码,如下所示:

第二行之后,可以得到一个环境变量:

我想知道如何在 Xcode 3 的最新版本中构造一个 nib(或 xib)文件,例如 MainMenu.xib,以便它可以用于 setenv。我做的一件事是在不使用 nib 文件的情况下编写 setenv 代码:

但是,当我通过双击 xxx.app 执行 Cocoa GUI 编程时,这不起作用,尽管当我执行程序的命令行版本时它起作用了。因此,似乎我需要一种在启动 Mac GUI 应用程序时设置环境变量的方法。我见过其他设置环境变量的方法,但我想知道如何使用 nib(或 xib)文件设置环境变量,并使用 NSBundle 的 loadNibNamed 方法加载它。

0 投票
2 回答
1871 浏览

objective-c - 在后台线程上加载笔尖

我刚刚花了一天时间追踪一个非常奇怪的错误。这是一个过度发布的 UILabel,尽管在代码中没有过度发布。如果我注释掉标签的发布,代码就可以了。

我将其追踪到正在后台线程中发布的 UIView。这似乎不正确,因为您应该从主线程访问所有 UI 元素。然后我找到了一个在后台线程中加载的 nib 文件:

我不需要详细说明代码在做什么,但我的问题是:

如果在后台线程中调用 loadNibNamed 并且加载的视图被 nib 加载过程缓存,那么主线程也想要加载该 nib - 但从缓存中加载它。当我的对象被释放时 - 从背景中的笔尖加载的视图是否也在背景中释放..?? 真的没有意义,因为无论如何后台线程将不再存在....

我不知道,但我通过将 GCD 调度中的 loadNibNamed 部分代码同步包装到主线程来解决它。

0 投票
1 回答
654 浏览

objective-c - 自定义UITableViewCell、autorelease等方法

(对不起我的英语:-) 我正在加载一个自定义 UITableViewCell:

我将所有者设置为 nil,因为我有这个单元格的 .m 和 .h,并且希望在它自己的文件中而不是在 UITableViewController 中拥有插座。它工作正常。

我的问题是关于在这种情况下正确的内存管理。

我知道 loadNibNamed 返回一个自动释放的数组。此外,我知道自动释放池在当前循环结束时耗尽。出于这个原因,在返回之前应该不需要保留我的自定义单元格。

但是,我多次听说你应该假设自动释放的对象只能保证在发送自动释放的方法结束之前存在。假设这一点,我应该立即保留单元格,然后自动释放它:

这是正确的还是我不应该担心这个?谢谢

0 投票
2 回答
1083 浏览

ios - 通过分析器未将“self”设置为“[(super or self)init…]”的结果时使用的实例变量

当我通过分析器测试我的代码时,得到:

'self' 未设置为 [(super or self) init...] 的结果时使用的实例变量

我的代码:

0 投票
1 回答
1438 浏览

objective-c - 在另一个 xib 中从 xib 加载自定义视图时遇到问题

很抱歉,因为我看到有人问过这样的问题。但是,按照说明,我没有太多运气。我有兴趣使用 xib 文件创建自定义视图并在另一个视图控制器的 xib 文件中重用它。

现有职位:

在另一个 xib 中使用 xib 对象

如何一起使用 xib 和 UIView 子类?

我已经:

  • 创建了一个自定义 xib 文件(我们称之为 CustomView.xib),以及对应的 .h 和 .m 类文件
  • 将 xib 文件的 File's Owner 设置为 CustomView
  • 创建了一个顶级 UIView,其他视图为子视图(UILabel 等)
    • 注意这有一个子 UIView 也是用代码编写的自定义视图
  • 连接 IBOutlets
  • 创建了一个 ViewController.xib 文件
  • 添加了一个 UIView,将类设置为 CustomView 并将其连接起来

这导致在我构建应用程序时显示一个空白视图。

然后,我尝试了上述帖子之一所说的,即覆盖 CustomView 的 initWithDecoder 方法并添加以下内容:

不幸的是,这导致了以下错误:

我认为这可能是因为我没有将 CustomView.xib 中的顶级视图设置为 CustomView 类。于是我把它改成了CustomView,然后事情就进入了无限递归。这是有道理的,因为它只是一遍又一遍地重新加载自己。

不知道我从以前的帖子中错过了什么,但我会很感激任何指导!谢谢!