Objective c 从其他类(ObjC)访问IBOutlet

Objective c 从其他类(ObjC)访问IBOutlet,objective-c,class,nsobject,Objective C,Class,Nsobject,我在谷歌上搜索了一下,找到了一些答案,但都没有找到。我有一个类为“A”的NSObject,第二个类为“B”,没有NSObject。在“A”类中定义了我的IBOutlet,而我似乎不知道如何从“B”类访问这些Outlet 我发现有人回答了这样的问题,但这些问题令人困惑 任何帮助都将不胜感激 代码的简化版本: aClass.h: #import <Cocoa/Cocoa.h> @interface aClass : NSObject { IBOutlet NSTextFiel

我在谷歌上搜索了一下,找到了一些答案,但都没有找到。我有一个类为“A”的NSObject,第二个类为“B”,没有NSObject。在“A”类中定义了我的IBOutlet,而我似乎不知道如何从“B”类访问这些Outlet

我发现有人回答了这样的问题,但这些问题令人困惑

任何帮助都将不胜感激

代码的简化版本:

aClass.h:

#import <Cocoa/Cocoa.h>

@interface aClass : NSObject {
    IBOutlet NSTextField *textField;
}
@end


aClass.m:

#import "aClass.h"

@implementation aClass
// Code doesn't matter
@end


bClass.h:

#import <Cocoa/Cocoa.h>

@interface bClass : NSObject {
}
@end


bClass.m:

#import "aClass.h"
#import "bClass.h"

@implementation bClass
    [textField setStringValue: @"foo"];
@end
aClass.h:
#进口
@接口aClass:NSObject{
ibnstextfield*textField;
}
@结束
A类别m:
#导入“aClass.h”
@实现aClass
//代码不重要
@结束
B类h:
#进口
@接口B类:NSObject{
}
@结束
B类m:
#导入“aClass.h”
#导入“bClass.h”
@实现类
[textField setStringValue:@“foo”];
@结束
当你写:

我在类中有一个NSObject “A”和第二类“B”不带 NSObject

它告诉我你对基本概念没有头脑。
通读苹果的objective-C简介和教程项目

解决方案使用的是NSNotificationCenter。这里有一条线索告诉你如何做:

然后在响应通知的方法中,调用访问出口的方法

- (void) receiveTestNotification:(NSNotification *) notification
{

    if ([[notification name] isEqualToString:@"TestNotification"])
        //NSLog (@"Successfully received the test notification!");
        [self performSelectorOnMainThread:@selector(doIt:) withObject:nil waitUntilDone:false];
}
- (void) doIt
{
    //testLabel.text = @"muhaha";
}

这对我有用,我希望对你也有用

post代码,特别是类b的简化版本:aClass.h:#import@interface a:NSObject{IBOutlet NSTextField*textField;}@end aClass.m:#import“a.h”@implementation a//code并不重要@end bClass.h:#import@interface b:NSObject{}@end bClass.m:#import“a.h”#import“b.h”@implementation b.h[textField setStringValue:@“foo”];@endo这有点混乱,简化版:
aClass.h:#import@interface a:NSObject{iboutl NSTextField*textField;}@end aClass.m:#import“a.h”@实现a//代码不重要@end bClass.h:#import@interface b:NSObject{}@end bClass.m:#import“a.h”#import“b.h”@实现b[textField setStringValue:@“foo”]@end
抱歉,我不知道如何使它看起来正确…尝试将该代码添加到您原始帖子的末尾,inside tags。我正在阅读,我想最终也会是一样的。您的答案给了我们很多帮助。我应该在A类还是B类中编写此通知方法?