1616#import < XMLDictionary/XMLDictionary.h>
1717
1818@interface SegueResource : NSObject
19- @property (nonatomic , strong ) NSMutableArray * segues;
19+ @property (nonatomic , strong ) NSMutableOrderedSet * segues;
20+ @property (nonatomic , strong ) NSString * sourceOriginalClass;
2021@property (nonatomic , strong ) NSString * sourceClassName;
2122@property (nonatomic , readonly ) NSString * sourceClassType;
2223@property (nonatomic , readonly ) NSString * methodName;
@@ -28,7 +29,7 @@ - (instancetype)init
2829 self = [super init ];
2930 if (self)
3031 {
31- self.segues = [NSMutableArray new ];
32+ self.segues = [NSMutableOrderedSet new ];
3233 }
3334 return self;
3435}
@@ -83,7 +84,7 @@ - (NSString *)propertyName
8384- (SegueResource*)resourceForViewController : (NSString *)className
8485{
8586 NSUInteger index = [self .resources indexOfObjectPassingTest: ^BOOL (SegueResource * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
86- if ([obj.className isEqualToString: className])
87+ if ([obj.sourceOriginalClass isEqualToString: className])
8788 {
8889 *stop = YES ;
8990 return YES ;
@@ -98,6 +99,7 @@ - (SegueResource*)resourceForViewController:(NSString*)className
9899
99100 SegueResource* res = [SegueResource new ];
100101 res.sourceClassName = className;
102+ res.sourceOriginalClass = className;
101103 [self .resources addObject: res];
102104 return res;
103105}
@@ -214,7 +216,7 @@ - (BOOL)writeInResourceFileWithError:(NSError *__autoreleasing *)error
214216 [self .clazz.implementation.lazyGetters addObject: lazy];
215217
216218 // sort segues in alphabetic order
217- NSArray * segues = [res.segues sortedArrayUsingSelector: @selector (compare: )];
219+ NSArray * segues = [res.segues.array sortedArrayUsingSelector: @selector (compare: )];
218220 for (NSString * segue in segues)
219221 {
220222 codableKey = [CommonUtils codableNameFromString: segue];
0 commit comments