我在这里做了什么?方法参数可以是无类型的吗?
在最近一个运行良好的项目中,该应用程序已经在商店中 - 到目前为止没有问题,我在 .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。由于我没有调用任何对象的方法或访问它的数据,编译器不需要知道关于该对象的任何信息。但是从编译器的 ivew 角度来看是什么?输入身份证?只是什么?有没有默认类型?
如你所见,我没有任何真正的问题。我只是好奇。希望这个问题不会违反任何 SO 规则。