微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

objective-c – 方法参数wihout类型?

在这做什么方法参数可以是无类型的吗?

在最近一个工作正常的项目中,App已经在商店中 – 到目前为止没有问题,我在.h文件中执行了以下操作:

@property (strong,nonatomic) NSManagedobject          *myPerson;
- (HKPersonPicker*) initWithPerson:person;
- (HKPersonPicker*) initWithPerson:person delegate:(id <HKPersonPickerDelegate>)delegate;

我打算这样做,但没有:

- (HKPersonPicker*) initWithPerson:(NSManagedobject*)person;
- (HKPersonPicker*) initWithPerson:(NSManagedobject*)person delegate:(id <HKPersonPickerDelegate>)delegate;

.m文件的相应部分:

- (HKPersonPicker*) initWithPerson:person
{
    self = [super init];
    if(self){
        self.myPerson = person;
    }
    return (self);
}

- (HKPersonPicker*) initWithPerson:person delegate:(id <HKPersonPickerDelegate>)delegate
{
    self = [self initWithPerson:person];
    if(self){
        self.delegate = delegate;
    }
    return (self);
}

正如您所看到的,我没有对此人物对象做任何特殊处理,只是将其分配给属性myPerson.由于我没有调用任何对象的方法或访问其数据,因此编译器不需要知道有关该对象的任何信息.但是从编译器的角度来看它是什么呢?输入ID?什么?有没有认类型?

如你所见,我没有任何实际问题.我只是好奇.希望这个问题不会破坏任何SO规则.

解决方法

使用C,认类型是int,但使用Objective-C它是id.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐