小编Nat*_*att的帖子

Objective-C初始化者是否允许共享相同的名称?

我在Objective-C中遇到一个奇怪的问题,当我有两个类使用相同名称的初始化器,但是类型不同的参数.例如,假设我创建了类A和B:

啊:

#import <Cocoa/Cocoa.h>

@interface A : NSObject {
}

- (id)initWithNum:(float)theNum;

@end
Run Code Online (Sandbox Code Playgroud)

上午:

#import "A.h"

@implementation A

- (id)initWithNum:(float)theNum
{
    self = [super init];
    if (self != nil) {
        NSLog(@"A: %f", theNum);
    }
    return self;
}

@end
Run Code Online (Sandbox Code Playgroud)

BH:

#import <Cocoa/Cocoa.h>

@interface B : NSObject { 
}

- (id)initWithNum:(int)theNum;

@end
Run Code Online (Sandbox Code Playgroud)

BM:

#import "B.h"

@implementation B

- (id)initWithNum:(int)theNum
{
    self = [super init];
    if (self != nil) {
        NSLog(@"B: %d", theNum);
    }
    return self;
}

@end
Run Code Online (Sandbox Code Playgroud)

main.m文件:

#import <Foundation/Foundation.h>

#import "A.h" …
Run Code Online (Sandbox Code Playgroud)

objective-c initializer selector

5
推荐指数
1
解决办法
183
查看次数

标签 统计

initializer ×1

objective-c ×1

selector ×1