问题标签 [nib]
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.
xcode - 让 Xcode 跳过 nib 编译
我正在创建一个必须“与黑客兼容”的应用程序,以便人们可以编辑笔尖和东西。但是,当我显示包内容时,笔尖已编译,因此我无法在 IB 中打开它们。有没有办法让 Xcode 不编译笔尖?
谢谢
iphone - 如何创建一个具有关联视图类的 Nib,该视图类可供多个 ViewControllers 使用
我正在打开一个新问题来跟进我的最后一个问题(添加子视图后 superview 和 parentviewcontroller nil)。基本上我知道使用子视图是一个好主意,但是我不应该有一个 ViewController 来控制一个存在于另一个 ViewController 中的子视图。基本上我想做以下事情......我有两个 ViewControllers 共享一个公共子视图。我已经将该子视图创建为一个名为 SearchDate.xib 的 nib。文件所有者是相应的类 SearchDateView.m/h。该类在笔尖中的 UIView 内有一个唯一元素的出口,它是一个标签。SearchDateView 类还具有更改 SearchDateView.xib 中标签值的功能。我希望我的两个 ViewController 都加载这个笔尖,但显然我不知道如何正确加载笔尖。无论我做什么,充其量都没有显示,最坏的情况是抛出异常。苹果文档谈到将 IB 中的其他类实例直接拖入您的主视图,但这似乎没有奏效。我的 ViewController 中有一个 SearchDateView 插座,我尝试在控制器的加载视图上执行此操作:
但我得到了这个例外:
我知道我在做一些完全错误的事情,但是拥有一个 nib、关联视图类来更新该 nib 中的一些对象并在不同的控制器中重用该 nib 的正确方法是什么?
编辑:鉴于评论可能还不够清楚。我不想对整个视图使用相同的 nib 文件 - 而不是子视图。因此,例如控制器 A 有一个地图和一个 SearchDateView,控制器 B 有一个表视图和一个 SearchDateView。所以我想知道如何将子视图加载到多个控制器中......
objective-c - NSViewController 如何避免绑定内存泄漏?[有示例应用程序]
我正在尝试实现我自己的 NSViewController 版本(为了向后兼容),但我遇到了绑定问题:由于绑定保留了它们的目标,所以每当我通过 File 的所有者绑定时,我都有一个保留圈。
所以我想我只是明确地从它的超级视图中删除我的视图并释放顶级对象,这将处理绑定,因为我的控制器不再持有视图,所以他们释放了我,我可以离开。但是由于某种原因,我的视图控制器仍然没有被释放。这是一个展示问题的示例应用程序:
http://dl.dropbox.com/u/34351/BindingsLeak.zip
构建它,启动它,然后点击 Cmd-K(“编辑”菜单中的“创建 Nib”)将一个 NIB 加载到空窗口中。再次点击 Cmd-K 以释放第一个视图控制器 (TestNibOwner) 并加载一个新的。但是,旧的视图控制器永远不会被释放。
删除复选框上的“值”绑定,它就可以正常释放了。
如果您在 release/retain/autorelease 覆盖处设置断点,您会看到 _NSBindingInfo 保留了 TestNibOwner,但在泄漏的情况下从不释放它。
有人知道怎么修这个东西吗?
iphone - 保留 IBOutlets 的数量
虽然编码总是出现关于 IBOutlets 保留计数的相同问题:从 NIB 取消归档对象后保留计数?何时将@property 用于 IBOutlet?设置时保留还是分配?Mac 和 iPhone 的区别?
所以我从 Apple 的文档中阅读了 The Nib Object Life Cycle 。Mac 和 iPhone 上的一些测试应用程序给了我一些奇怪的结果。尽管如此,我还是写了一些规则来处理这个问题,以便在编码时保持快乐,但现在想与社区进行验证并听取您的意见和经验:
- 始终为顶级对象创建 IBOutlet。必要时用于非顶级对象(需要访问)。
- 始终为 IBOutlets 提供如下属性(并在必要时释放它们!):
- Mac 上的顶级对象:
- @property (nonatomic, assign ) IBOutlet SomeObject *someObject;
- @synthesize someObject;
- [self.someObject释放];
- Mac 上的非顶级对象(无版本):
- @property (nonatomic, assign ) IBOutlet NSWindow *window;
- @synthesize someObject;
- iPhone 上的顶级对象(必须保留):
- @property(非原子,保留) IBOutlet SomeObject *someObject;
- @synthesize someObject;
- [self.someObject释放];
- iPhone 上的非顶级对象(应保留):
- @property (nonatomic, 保留) IBOutlet UIWindow *window;
- @synthesize 窗口;
- [self.window释放];
- Mac 上的顶级对象:
旁注:
- 在 Mac 和 iPhone 上,如果可用,则使用 setter 进行插座连接。
- 顶级对象:“没有 [...] 拥有对象”
- 非顶级对象:“任何具有父对象或拥有对象的对象,例如嵌套在视图层次结构中的视图。”
所以问题是:这是正确和好的做法吗?
我希望你能批准或更正它。
iphone - 加载应用程序的主 xib 是否有类似 viewDidLoad 的内容?
正如在应用程序的 Info.plist 中使用“主 nib 文件基本名称”定义的那样。我应该使用applicationDidFinishLaunching
吗?
iphone - 无论对象是从 nib 加载还是以编程方式创建,执行初始化代码的正确方法是什么?
我注意到,如果您从 nib 加载连接的视图,如果您想添加初始化代码,则必须覆盖 initWithCoder,因为指定的初始化程序不会被调用(这确实有意义),并且如果您不加载视图从笔尖开始,则需要在指定的初始化程序中执行相同的代码。
因此,为了处理这两种情况,您需要在两种方法中使用相同的初始化代码。
这是迄今为止我提出的最佳解决方案,但我想知道是否有一些更传统的方法可以做到这一点。此代码位于 UITableViewCell 子类中,但实际上可以是任何 UIView:
那么对此有什么想法吗?这是做事的“正确方式”吗,这里有潜在的陷阱,还是我完全错过了什么?
cocoa - Cocoa:NIB 文件创建的实例的 var 名称是什么?
当 Cocoa NIB 文件实例化自定义控制器对象的实例时,该自定义控制器实例分配给的变量的名称是什么?
如果不清楚,如果您手动创建了该类的实例,您将执行以下操作:
在幕后执行此操作时,NIB 使用了什么相当于“myVar”?
cocoa - Cocoa:是什么创建了链接到 NIB 文件的控制器类的实例?
这是一个关于 Cocoa NIB 文件的内部工作原理和它们的支持框架类的问题。
有关方便的示例,请查看 Apple 货币计算器教程:http: //developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjCTutorial/01Introduction/01Introduction.html
如果您打开 MainMenu.nib 文件,您将看到一个表示“转换器控制器”的对象。
当应用程序运行时,ConverterController 类的实例由应用程序中的某些东西(NIB 中的某些东西,或支持 NIB 的框架)实例化。
(不要将此与另一个类 Converter 混淆,后者的实例由 ConverterController 中的代码创建。)
我的问题是,是什么创建了这个 ConverterController 实例?它是 NIB 中默认的 File's Owner 对象吗?无论对象创建实例,该对象使用的代码是什么?NIB 或框架中的某处必须有一些方法/功能说:
我想查看该代码,即当前用于创建 ConverterController 实例的特定代码。
我不想知道如何为 ConverterController 实例创建替代品,或者通常如何手动实例化与 NIB 文件相关的类实例。
iphone - IB 如何加载 UIImage:imagedNamed vs imageWithData?
在阅读了 UIImage 的内存管理之后,我担心界面构建器如何加载 UIImage。它使用 UIImage:imagedNamed 还是 UIImage:imageWithData?
iphone - 如何在我的应用程序首次启动时调用 nib 文件?
我是新来的,但我想很好地学习 iPhone SDK...
我正在制作一个 iPhone 应用程序,我想在启动我的应用程序时显示一个 modalView 控制器...我该怎么做?
在这个 modalView 中,我请求了一些信息,并且视图必须仅在未保存这些信息时出现!
任何人都可以帮助我吗?
PS:对不起我的英语不好,但我是意大利人... :D 谢谢!