【发布时间】:2013-03-06 20:39:24
【问题描述】:
我在这里做了什么?方法参数可以是无类型的吗?
在最近的一个运行良好的项目中,应用程序已经在商店中 - 到目前为止没有问题,我在 .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 规则。
【问题讨论】:
标签: objective-c