@protocol protoA <NSObject>
@end
@interface objA : NSObject<protoA> {
@private
}
@end
@implementation objA
@end
@protocol protoB <NSObject>
-(void) foo: (id <protoA> *) par;
@end
@interface objB : NSObject<protoB>
-(void) foo: (id <protoA> *) par;
@end
@implementation objB
-(void) foo: (id <protoA> *) par
{
//...
}
@end
trong một số phương pháp lớp khác tôi sử dụng nó theo cách này:đi qua con trỏ đối tượng như con trỏ giao thức
objB *obj1 = [[objB alloc] init];
objA *obj2 = [[objA alloc] init];
[obj1 foo: obj2];
Tôi có lỗi biên dịch: "chuyển đổi ngầm của một con trỏ Objective-C để '__autoreleasing id *' là không được phép với ARC
cách thích hợp để làm được chức năng này là gì?
đó là nó. Cảm ơn bạn – gossamer
R'SNG NÓ! Giải pháp này giúp tôi giải quyết vấn đề đau đầu XD –