我们说我有两个协议
@protocol Playlist<NSObject>
@property(nonatomic, copy) NSString *title;
@property(nonatomic, assign) NSUInteger trackCount;
@end
和另一个
@protocol Album<NSObject>
@property(nonatomic, copy) NSString *name;
@property(nonatomic, assign) NSUInteger trackCount;
@end
并且有一个符合这些协议的类
.h文件
@interface MusicLibrary <Playlist, Album>
@end
.m文件
@implementation MusicLibrary
@synthesize title;
@synthesize name;
@synthesize trackCount;
@end
它会引用哪个trackCount属性?我可以两次使用trackCount吗?
肯定不会给出任何编译时错误。
答案 0 :(得分:0)
在我看来,您正在对数据建模错误。你设置musicLibrary的方式既可以是播放列表,也可以是专辑。我认为一个更正确的模型会有一个包含许多播放列表和许多专辑的MusicLibrary。类似的东西:
@property (nonatomic, strong) NSArray<Album>* albums;
@property (nonatomic, strong) NSArray<Playlist>* playlists;