0

假设我有两个协议

@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 两次吗?

它肯定不会给出任何编译时错误。

4

1 回答 1

0

在我看来,您对数据的建模是错误的。设置音乐库的方式既是播放列表又是专辑。我认为更正确的模型应该有一个包含许多播放列表和许多专辑的 MusicLibrary。就像是:

@property (nonatomic, strong) NSArray<Album>* albums;
@property (nonatomic, strong) NSArray<Playlist>* playlists;
于 2017-01-10T07:35:24.497 回答