问题标签 [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.
iphone - 用代码在 nib 中设置的类之间进行通信?
一个初学者的问题:
如果,在您的 nib 中,您将 File's Owner 链接到 ViewController 类,并且您还有一个 NSObject 派生类,您如何在代码中在 ViewController 类和 NSObject 类之间进行通信?
例如,假设 ScientificCalculatorView.xib 看起来像这样
显然,我希望 Calculator 可重用,因此它可以与 NormalCalculatorViewController 或类似的东西一起使用。这样 UI 和计算器代码是分开的。计算器甚至需要在笔尖中吗?
这是一个初学者的问题,但我只是想弄清楚它。
iphone - loadNibNamed 是怎么做的?
在大多数示例中,loadNibNamed
没有使用 value 的返回值,所以我猜它使用的是 owner 参数。但是它是如何工作并与所有者对象建立连接的呢?为了以这种方式加载笔尖,我的所有者类应该满足什么样的要求?
我能猜到的唯一要求是
- 所有者类必须在 nib 文件中的一个或多个对象上定义一个出口
- nib 文件的所有者应该设置为正在加载 nib 的类,然后
loadNibNamed
可以将 owner 参数设置为self
- nib 文件应将所有连接设置为所有者类中定义的插座
我的假设是正确的,还是在使用时我还需要考虑其他任何事情loadNibNamed
?
xcode - 按下按钮后加载表格视图笔尖
我使用以下代码向导航栏添加了一个按钮,按下该按钮将调用方法 showCountries:
现在这个工作,按钮出现,按下时按计划进入 showCountries 方法。
show countries 方法需要做的是加载一个新的表格视图,其中包含一个错误国家列表(目前在一个数组中)。
为此,我尝试了以下代码:
一切似乎都可以正常编译,但是在使用时,控制台中会出现以下错误,并且应用程序崩溃:
2010-06-21 18:09:02.076 Vat Pro[788:207] * -[UIViewController tableView:numberOfRowsInSection:]:无法识别的选择器发送到实例 0x12a920 2010-06-21 18:09:02.082 Vat Pro[788:207] *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“***-[UIViewController tableView:numberOfRowsInSection:]:无法识别的选择器发送到实例 0x12a920”2010-06-21 18:09:02.088 Vat Pro[788:207]
我已经挠头 2 天了,如果你能发现我的错误,请告诉我。
我还尝试加载一个普通的 nib 文件,效果很好。
objective-c - Making sure that objects in nibs are initialized before applicationDidFinishLaunching
and thanks for taking a look at my problem.
i have two view controllers in my app and each has its own nib file. an instance of controller1 is stored in MainWindow.xib and an instance of controller 2 is in Controller1.xib.
is there a way to make sure that controller 2 is initialized before the app delegate is sent applicationDiDFinishLaunching?
the actual setup is much more complicated with many other view controllers, so i really don't want to put everything into MainWindow.xib. plus doing so will reduce reusability.
thanks again!
cocoa - dylib中nib的窗口
我对 Mac 很陌生,但对 Windows 相当熟悉。我需要的是一个由库(dylib)打开和关闭的窗口。这在 MS Windows 中很容易做到,但在 Cocoa 下似乎并不难。
我将苹果的“CocoaInCarbon”示例中的代码与 C++ Wrappers 一起使用。但NSApplicationLoad()
随后[NSBundle LoadNibNamed:@"MyWindow" owner:self]
失败。这是由于 dylib 不是捆绑包引起的吗?
是否有其他方法可以在 dylib 中打开和控制窗口?
objective-c - 在 UIViewController 的 viewDidUnload 中释放 IBOutlets?
我对在基于 Nib 的UIViewController
s 中究竟发生了什么感到有点困惑。生成UIViewController
子类时,模板在方法中包含非常具体的注释viewDidUnload
:
这适用于哪些子视图?
- 我初始化的那些
viewDidLoad
?(我会说是的) - 我初始化的那些
initWithNibName
?(我会说不) - 引用 Nib 中对象的 IBOutlets?
如果我像这样使用视图控制器:
在这种情况下,我认为保存对子视图的引用的实例变量是否被释放并不重要,viewDidUnload
或者一旦视图控制器从堆栈中弹出就应该被调用,所以我不妨按照苹果所说的去做并释放dealloc
实例dealloc
变量 onviewDidUnload
而不是dealloc
.
但是假设我用作MyViewController
可能被多次推送的实例变量:
MyViewController
如果我在 中释放 IBOutlet会发生什么viewDidUnload
?我可以指望在下一个对它有新的引用viewDidLoad
吗?
换句话说:在 之后视图本身会发生什么viewDidUnload
?如果再次推动控制器,它是否会从 Nib 释放并重新加载?或者视图是否保留在内存中?如果是这样,网点之前是否会重新设置viewDidLoad
?
如果视图保留在内存中并且插座在之前重新设置viewDidLoad
或每次按下控制器时都重新加载,我认为释放插座是正确的viewDidUnload
(即使在第一种情况下它并不重要)。但除此之外(特别是如果视图保留在内存中并且未重新设置插座),viewDidUnload
对于我提出的用例来说,释放子视图是错误的,我正确吗?
objective-c - Cocoa - 失去焦点时加载的笔尖文件消失
我有一个像这样加载的 nib 文件[NSBundle loadNibNamed: @"myNibFile" owner: self ]
,它弹出很好,但是当它失去焦点时,它就消失了。我检查了它是否在我的主窗口后面消失,但不是。我的应用程序很大,所以我不确定是什么原因造成的。如果这有什么不同,我启用了垃圾收集。有谁知道加载的 nib 文件有任何问题并且我应该研究一下失去焦点?如有必要,我可以开始从我的代码中发布一些示例。
cocoa - 使用 Core Data 将 nib 拆分为多个 nib 文件
目前,我有一个 managedContext、许多相互关联的实体的 NSArrayController,以及几个 Windows,每个 Windows 都使用 1 或 2 个 NSArrayController。Windows 使用核心数据绑定,所有这些都是通过在 IB 中完成的可可绑定设置的
我现在有 1 个笔尖 (xib),里面有所有东西。通常在使用我的应用程序时,我只会打开其中一个窗口,而我不想加载其他所有内容。因此,按照 Apple 的建议和常识,我想闯入许多 nib(理想情况下,每个 Window 一个)
就如何加载单独的 nib 文件而言,我很好,但我怎样才能将这一切拆分并仍然保持它们相互链接?似乎当我创建一个新的笔尖时,我无法在它和另一个之间建立联系。这有很多原因是有道理的,但是我该怎么做呢?我是否只是切换到以编程方式进行所有绑定,然后在笔尖加载时设置我的绑定?也许将我所有的 NSArrayControllers 放在一个中央 nib 中并一次加载它们,然后在我访问该功能并在那时进行绑定时加载每个 Window 的 nib 是有意义的?
iphone - 如何在不使用视图控制器的情况下使用 nib 文件加载视图
我是这个objective-c的新手,我想使用按下按钮时创建的nib文件加载视图。不使用任何视图控制器..
iphone - 何时使用 IBOutlet?
我对 IBOutlet 有点困惑。当变量将在 nib 中更改时,我应该使用 IBOutlet 是否正确?