从调用Objective-C中的另一个类的类方法(可可)

我是新来的Cocoa编程,所以我仍然在努力掌握一些基本概念。

我想要做的(作为一个例子),是写有多个应用程序NSTextFields 。 然而,这些NSTextFields 需要被链接到单独的类。 此外,每个单独的类需要能够获取和相互设置数据。

我想补充的方法来解决这个问题,但没有成功。 比方说,这是在文本框中的原始类中的方法,我想从另一个类调用它。

-(void)settextfield:(NSString*)stringy; { [TextField setStringValue:stringy]; }

下面是调用代码(我们从另一个类调用此,识别TestClass)...

-(IBAction)test:sender; { [BundleBrowseTextBox settextfield: @"Testy"]; }

什么都没发生。 有可能是一些明显的方式做到这一点,但我一直无法通过谷歌搜索来挖掘这一点。

--------------解决方案-------------

你需要确保你所使用的指针不是零。

有关objC一个奇怪/方便的事情是,你可以传递消息到零,它不会崩溃。

我的错误是,我调用类的方法,而不是实例......你可以调用通过IBOutlets的实例,并在界面生成器正确确定这些网点。

如果我假设你想设置BundleBrowseTextBox实例的文本是对的,你应该叫settextfield:消息上的实例名称,而不是在类名(如果BundleBrowseTextBox是实例 - 而不是类 - 你应该避免资本实例名称为清楚起见)。 即:

-(IBAction)test:(id)sender;
{
// Assuming bbtBox is defined as an instance of BundleBrowseTextBox
[bbtBox settextfield: @"Testy"];
}

我相信你在原来的职位该忘记您的参数类型...

-(IBAction)test:sender;
{
[BundleBrowseTextBox settextfield: @"Testy"];
}

应该

-(IBAction)test:(id)sender;
{
[BundleBrowseTextBox settextfield: @"Testy"];
}

这且不说,如果你理解类和实例之间的区别,你说你做。 那么这将是很好,如果你想向我们展示你的实现和接口的其余部分。 这个问题可能不是在代码片段,你向我们展示。

分类:目标C 时间:2012-01-01 人气:0
本文关键词: OSX,目标C,可可
分享到:

相关文章

  • 如何实现一个目标C /可可Mac OSX上的应用程序试用期? 2014-01-03

    我开始学习目标C和Cocoa在Mac,我想开发一个应用程序,将有30天的试用期,例如像大多数的应用程序都有. 这怎么能在Mac OSX上实现的? 我某处储存安装日期,然后在每次运行时我检查是什么? 或什么是实现这一目标的一般方式? --------------解决方案------------- 这当然是检查试用期满的一种方式,但我发现,稍微聪明的用户打交道时,实施基于时间的审判可能会很麻烦. 如果使用计时赛(即30天)你是怎么检查的时间? 您可以存储已安装应用程序的时间,你可以看到当前的时间制定

  • 如何设置背景色MAC OSX目标C 2012-05-23

    我是很新的MAC OSX实施. 你们可以请建议任何单证的如何使用输出接口生成器得到某些菜单的抓地力,背景颜色,文本字段和所有的UI元素编程. 感谢你,S. --------------解决方案------------- 这里! http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSTextField_Class/Reference/Reference.html

  • 使用目标C /可可到反向转义的Unicode字符,即\ u1234 2013-02-06

    ,我从获取数据有些网站正在返回UTF-8字符串,用UTF-8字符转义,即\u5404\u500b\u90fd 是否有一个内置的可可粉的功能,可能帮助这或将我写我自己的解码算法. --------------解决方案------------- 没有内置功能可做C转义. 你可以骗一点与NSPropertyListSerialization因为一个"旧文本样式"的plist支持通过C转义\Uxxxx NSString* input = @"ab\"cA\"BC\

  • 确定消息的目标为可可沙盒 2013-02-14

    所以,我只是说沙盒到我的产品之一. 它的不同之处在于在工作流中的最后一步是设置桌面完全功能. 它通过NSWorkspace做到这一点. 当我打电话 [[NSWorkspace sharedWorkspace] setDesktopImageURL:[NSURL fileURLWithPath:imagePath] forScreen:screen options:nil error:&error]; 我收到以下错误: *** attempt to post distributed notific

  • 我怎样才能在目标C /可可QuickTime视频编解码器的信息? (无FFMPEG) 2013-04-07

    您好,感谢您的时间,我创建绕着被其他应用程序来处理视频文件的应用程序. 在过去,我已经使用mediainfo和ffmpeg的,在Ruby中获取有关每个文件的编解码器的信息. 不过,我想所有这一切都转移到一个美丽的可可应用程序. 我已经搜查,搜查,但仍无法找到一个解决方案(不使用的ffmpeg)如何做到这一点. 我基本上找你的QuickTime视频检查器窗口(苹果+ I)得到完全相同的信息. 任何帮助将不胜感激,示例代码,更是如此. 谢谢. --------------解决方案----------

  • Mac OSX上的可可应用程序需要的RAM数量巨大的垃圾收集 2013-05-25

    我写的Mac与可可录像机的应用,并与内存使用一个巨大的问题. 当启动应用程序,我有两个按钮,我可以改变视图,并与那里的摄像头得到加载一个简单的自定义视图的窗口. 就在这个视图将RAM 21MB的,当我按下我改变自定义视图从凸轮记录内容的QTMovie的按钮之一. 每次我改变我的查看应用程序充满UPP约RAM 10MB的,永不停止. 我有垃圾收集. 即使我展示QTMovie的看法,并希望按按钮再次显示它,它需要更多的内存. 加载子视图代码,请从按钮触发时 if ([myCurrentViewCon

  • 如何在目标C可可测验应用openfient整合 2013-12-26

    我在目标C新希望openfient在我的竞猜广告应用程式整合. 请告诉我如何整合它. 感谢Shivam S.kara --------------解决方案------------- 互联网是充满美好的教程,这只是第一批的结果: iPhone SDK-如何集成OpenFeint的到您的应用 OpenFeint的整合 从头创建一个OpenFeint的iPhone应用程序 谷歌是你的朋友;)

  • 目标C /可可代表问题 2012-01-30

    我已阅读并理解这个问题给出了答案: http://stackoverflow.com/questions/626898/how-do-i-create-delegates-in-objective-c 不过,我想设置一个委托给我的主应用程序窗口,并想知道在我的应用程序,我可以做到这一点 - 在我AppDelegate类,或者其他地方? --------------解决方案------------- 它是一个很长一段时间,因为我做了这一点,但IIRC你只需将它设置在界面生成器. 请参阅下面的截图:

  • 你应该怎么mock类你没有目标C /可可自己的吗? (如的NSDate) 2012-07-16

    还有,上面写着一个规则 你只拥有模拟对象. 我想我明白这样做的原因 - 嘲讽的框架提供的,可能会导致异常行为的类. 有什么替代方案? 怎么样,当你需要使用的NSDate一个伪日期? 在过去,我已经从交叉混合的NSDate的日期的方法我自己的类 - NSDateMock - 但东西告诉我这是真的错了! 其中一个解决方案-一个包装? 创建一个包装一轮的NSDate,但你必须实现它所有的方法. 或者,你只需要实现您正在使用的呢? 看来做一个混乱的方式. 我的问题 什么是嘲讽类你不拥有如的NSDate的

  • 如何转换这个perl Skript(Sipgate API)为目标C /可可? 2014-01-24

    没有任何人有一个小样本怎样的comunicate与Sipgate web服务的ObjC? 我从来没有使用Web服务在所有和我didn't得到它. 这里是一个小的Perl Skript,由Sipgate提供的,关于如何发送短信与他们的web服务: #!/usr/bin/perl -w # # Sam Buca, indigo networks GmbH, 08/2007 # # This script is a very basic perl-client to the SAMURAI servi

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.315 (s). 10 q(s)