1

我正在尝试将 ClassB 设置NSStringNSTextField在 ClassA 中调用该方法的位置。但NSTextField不是初始化 的值NSString

B类.h

   NSString *folderPath;

B类.m

  - (id)initWithWindow:(NSWindow *)window
    {
       self = [super initWithWindow:window];
       if (self) {

       [alertWindow setIsVisible:NO];

       [pdfStatusText setStringValue:@"Null"];
       }

      return self;
    }

    -(id)initWithAlertWindowControllers:(NSString*)fileName andTitle:(NSString *)title
    {
       //some part of code here
       //i am trying to set String value to the NSTextField pdfStatusText
       folderPath=fileName; 
       [pdfStatusText setStringValue:folderPath];     
    }  


    - (void)windowDidLoad
    {
       [super windowDidLoad];
       [self.window makeKeyAndOrderFront:self];

    }

班A.m

     _alertWindow = [[AlertWindowController alloc] initWithAlertWindowControllers:Path andTitle:@"Project"];

谢谢..

4

2 回答 2

1

您的代码应该可以工作,尝试将 NSlog 写入您的方法,并确定您的方法是否有效,然后您的问题可能是由于您的 textField-(id)initWithAlertWindowControllers:(NSString*)fileName andTitle:(NSString *)title { NSLog(@"Is it working?");
//some part of code here //i am trying to set String value to the NSTextField pdfStatusText folderPath=fileName;
pdfStatusText.Text=title; }

也许你应该尝试类似的东西 pdfStatusText.delegate=self;在您看来确实加载方法。

于 2013-10-09T06:42:06.170 回答
0

您是否在 A 类中设置了 B 类的 NSTextField 的值,A 类将创建一个新的 NSTextField 实例,并且您的文本字段不会被初始化。您所要做的就是在 A 类中创建 B 类的 IBOutlet。在 xib 中拖动两个 NSObject 并将它们的类设置为 A 类和 B 类。现在将 B 类的 newReferencingOutlet 绑定到您在 A 类中创建的 IBOutlet 对象ctlr+在xib中从classB拖到classA。

现在使用此 IBOutlet 对象而不是 B 类的新实例调用 A 类中 B 类的方法。

于 2013-10-15T10:13:19.893 回答