小编Vin*_*ich的帖子

目标c访问公共方法

我尝试从另一个类访问公共方法.我已经尝试了很多我在网络上找到的例子,但它们并没有按照我希望的方式工作.

Class1.h

@interface anything : NSObject {

    IBOutlet NSTextField *label;

}

+ (void) setLabel:(NSString *)string;
- (void) changeLabel:(NSString *)string2;
Run Code Online (Sandbox Code Playgroud)

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);
}
Run Code Online (Sandbox Code Playgroud)

Class2.m

- (IBAction)buttonPressed {

    [Class1 setLabel:@"Test"];

}
Run Code Online (Sandbox Code Playgroud)

非常奇怪的是,在NSLogs中,一切都很好,在两个NSLog中,字符串都是"Test",但textField的stringValue不会改变!

cocoa objective-c nstextfield public-method

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

cocoa ×1

nstextfield ×1

objective-c ×1

public-method ×1