在 Mac OS X 10.6.8 和 Xcode 3.2.6 下单击 Objective-C 中的按钮无响应
No response by clicking a button in Objective-C under Mac OS X 10.6.8 and Xcode 3.2.6
我的工作:我正在编写我的第一个 objective-c-software 并且我开始编写代码。首先,它被认为是 command-line-tool,这也是我最初选择的项目类型。完成后,我添加了一个新的“Application Xib”-File,命名为“BedienOberflaeche.xib”并创建了一个 GUI。
我的问题:我尝试通过单击新 GUI 中的按钮来获得响应,但我没有得到任何响应。
我的研究历史:严重的问题,如创建按钮、将按钮与 object 实例连接以及类似“NSButton 不响应”的问题。我还没有找到答案。
对其他人的相关性:这个问题与所有这些人都相关,我们正在创建他们的第一个 objective-c-application 并在其上添加 GUI。我认为,这是非常基本的。
我的工作平台:我正在 Mac OS X 10.6.8 Snow Leopard 和 Xcode 3.2.6 MacBook 2,1 .我在 GUI 的 xib-file 中发现以下内容:
Ed$ grep GuiPage FotobuchErsteller_0/BedienOberflaeche.xib
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">10K549</string>
<string key="IBDocument.InterfaceBuilderVersion">851</string>
<string key="IBDocument.AppKitVersion">1038.36</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
我已经尝试了以下方法:我的 GUI 包含一个按钮,名为“Selbsttest”。文件“BedienOberflaeche.xib”的图形表示包含一个条目,看起来像一个 half-transparent 蓝框,代表一个 object 实例作为“GuiPage.m”的子class在连接 class „GuiPage.m“(无间隙)之后,我在“Inspector”下配置了 → „Gui Page Identity“(有间隙)→ „Class Identity“ → „Class = GuiPage“. class“GuiPage.m”包含单击按钮后要执行的代码。 object 在方法“fuehreSelbsttestAus:”和条目“Push Button (Selbsttest)”之间有联系,可在 Inspector →“Gui Page Connections”→“Recieved Actions”中找到。 „fuehreSelbsttestAus:“是方法的名称,应该通过单击按钮来执行。除此之外,我没有对 object.
进行任何其他配置
按钮本身显示了“fuehreSelbsttestAus:”和 object“Gui Page”检查器→“按钮连接”→“已发送操作”之间的连接。除了 Inspector → „Button Attributes“ → „Title“ 中的标题 „Selbsttest“,我没有在其他按钮中执行任何关于“Button Effects”、“Button Size”、“Button bindings”和“Button Identity”部分的进一步配置” 的检查员。
方法“fuehreSelbsttestAus”可以在Class“GuiPage.m”中找到:
#import "GuiPage.h"
@implementation GuiPage
//[...]
#pragma mark Methoden
-(IBAction)fuehreSelbsttestAus:(id)sender{
NSLog(@"Der Knopf zum ausfuehren des Selbsttests wurde gedrueckt.");
}
它应该重现简单的日志条目。我尝试通过在 Interface Builder 中启动“文件”→“模拟界面”来 运行 GUI,这向我展示了 GUI 的模拟,但是,在单击“Selbsttest”按钮后我看不到任何日志记录“。
我查了一下,有没有在.xib-file:
中提到的“GuiPage”和“Selbsttest”-button-entry
Edo$ grep GuiPage FotobuchErsteller_0/BedienOberflaeche.xib
<string key="NSClassName">GuiPage</string>
<string key="objectName">GuiPage</string>
<string key="className">GuiPage</string>
<string key="minorKey">GuiPage.h</string>
和
Edo$ grep Selbsttest FotobuchErsteller_0/BedienOberflaeche.xib
<string key="NSContents">Selbsttest</string>
<string key="label">fuehreSelbsttestAus:</string>
<string key="NS.key.0">fuehreSelbsttestAus:</string>
<string key="NS.key.0">fuehreSelbsttestAus:</string>
<string key="name">fuehreSelbsttestAus:</string>
那里提到了按钮和 object 之间的连接。因此我想知道,我可以通过单击按钮进一步执行方法“fuehreSelbsttestAus”中的书面代码。有人有想法吗?如果有任何帮助,我将不胜感激。
建议的解决方案是创建一个 cocoa 应用程序并传输其中的所有源代码文件。显然,命令行应用程序类型不是基于 gui 应用程序的正确项目类型。
我的工作:我正在编写我的第一个 objective-c-software 并且我开始编写代码。首先,它被认为是 command-line-tool,这也是我最初选择的项目类型。完成后,我添加了一个新的“Application Xib”-File,命名为“BedienOberflaeche.xib”并创建了一个 GUI。
我的问题:我尝试通过单击新 GUI 中的按钮来获得响应,但我没有得到任何响应。
我的研究历史:严重的问题,如创建按钮、将按钮与 object 实例连接以及类似“NSButton 不响应”的问题。我还没有找到答案。
对其他人的相关性:这个问题与所有这些人都相关,我们正在创建他们的第一个 objective-c-application 并在其上添加 GUI。我认为,这是非常基本的。
我的工作平台:我正在 Mac OS X 10.6.8 Snow Leopard 和 Xcode 3.2.6 MacBook 2,1 .我在 GUI 的 xib-file 中发现以下内容:
Ed$ grep GuiPage FotobuchErsteller_0/BedienOberflaeche.xib
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">10K549</string>
<string key="IBDocument.InterfaceBuilderVersion">851</string>
<string key="IBDocument.AppKitVersion">1038.36</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
我已经尝试了以下方法:我的 GUI 包含一个按钮,名为“Selbsttest”。文件“BedienOberflaeche.xib”的图形表示包含一个条目,看起来像一个 half-transparent 蓝框,代表一个 object 实例作为“GuiPage.m”的子class在连接 class „GuiPage.m“(无间隙)之后,我在“Inspector”下配置了 → „Gui Page Identity“(有间隙)→ „Class Identity“ → „Class = GuiPage“. class“GuiPage.m”包含单击按钮后要执行的代码。 object 在方法“fuehreSelbsttestAus:”和条目“Push Button (Selbsttest)”之间有联系,可在 Inspector →“Gui Page Connections”→“Recieved Actions”中找到。 „fuehreSelbsttestAus:“是方法的名称,应该通过单击按钮来执行。除此之外,我没有对 object.
进行任何其他配置按钮本身显示了“fuehreSelbsttestAus:”和 object“Gui Page”检查器→“按钮连接”→“已发送操作”之间的连接。除了 Inspector → „Button Attributes“ → „Title“ 中的标题 „Selbsttest“,我没有在其他按钮中执行任何关于“Button Effects”、“Button Size”、“Button bindings”和“Button Identity”部分的进一步配置” 的检查员。
方法“fuehreSelbsttestAus”可以在Class“GuiPage.m”中找到:
#import "GuiPage.h"
@implementation GuiPage
//[...]
#pragma mark Methoden
-(IBAction)fuehreSelbsttestAus:(id)sender{
NSLog(@"Der Knopf zum ausfuehren des Selbsttests wurde gedrueckt.");
}
它应该重现简单的日志条目。我尝试通过在 Interface Builder 中启动“文件”→“模拟界面”来 运行 GUI,这向我展示了 GUI 的模拟,但是,在单击“Selbsttest”按钮后我看不到任何日志记录“。
我查了一下,有没有在.xib-file:
中提到的“GuiPage”和“Selbsttest”-button-entryEdo$ grep GuiPage FotobuchErsteller_0/BedienOberflaeche.xib
<string key="NSClassName">GuiPage</string>
<string key="objectName">GuiPage</string>
<string key="className">GuiPage</string>
<string key="minorKey">GuiPage.h</string>
和
Edo$ grep Selbsttest FotobuchErsteller_0/BedienOberflaeche.xib
<string key="NSContents">Selbsttest</string>
<string key="label">fuehreSelbsttestAus:</string>
<string key="NS.key.0">fuehreSelbsttestAus:</string>
<string key="NS.key.0">fuehreSelbsttestAus:</string>
<string key="name">fuehreSelbsttestAus:</string>
那里提到了按钮和 object 之间的连接。因此我想知道,我可以通过单击按钮进一步执行方法“fuehreSelbsttestAus”中的书面代码。有人有想法吗?如果有任何帮助,我将不胜感激。
建议的解决方案是创建一个 cocoa 应用程序并传输其中的所有源代码文件。显然,命令行应用程序类型不是基于 gui 应用程序的正确项目类型。