別のクラスからパブリック メソッドにアクセスしようとしています。Web で見つけた多くの例を既に試しましたが、思ったようには機能しませんでした。
Class1.h
@interface anything : NSObject {
IBOutlet NSTextField *label;
}
+ (void) setLabel:(NSString *)string;
- (void) changeLabel:(NSString *)string2;
Class1.m
+ (void) setLabel:(NSString *)string {
Class1 *myClass1 = [[Class1 alloc] init];
[myClass1 changeLabel:string];
NSLog(@"setLabel called with string: %@", string);
}
- (void) changeLabel:(NSString *)string2 {
[label setStringValue:string2];
NSLog(@"changeLabel called with string: %@", string2);
}
Class2.m
- (IBAction)buttonPressed {
[Class1 setLabel:@"Test"];
}
非常に奇妙なのは、NSLog ではすべて問題なく、両方の NSLog で文字列が「Test」であるのに、textField の stringValue が変化しないことです。