OSDN Git Service

改修工廠メニューの全てが全てではない問題を修正
authormasakih <masakih@users.sourceforge.jp>
Sun, 13 Mar 2016 01:55:45 +0000 (10:55 +0900)
committermasakih <masakih@users.sourceforge.jp>
Sun, 13 Mar 2016 01:55:45 +0000 (10:55 +0900)
KCD/HMStrengthenListViewController.m
KCD/ja.lproj/HMStrengthenListViewController.xib

index 53d0d20..045d868 100644 (file)
@@ -18,9 +18,9 @@ static NSString *groupNameKey = @"group";
 
 @interface HMStrengthenListViewController () <NSTableViewDataSource, NSURLSessionDelegate>
 
-@property (strong) NSArray *equipmentStrengthenList;
+@property (strong) NSArray<HMEnhancementListItem *> *equipmentStrengthenList;
 @property (weak, nonatomic) IBOutlet NSTableView *tableView;
-@property (strong) NSArray *itemList;
+@property (strong) NSArray<HMEnhancementListItem *> *itemList;
 
 @property (nonatomic) NSInteger offsetDay;
 
@@ -135,18 +135,48 @@ static NSString *groupNameKey = @"group";
        self.plistDownloadTask = nil;
 }
 
+- (NSArray<HMEnhancementListItem *> *)allItemList
+{
+       NSMutableDictionary<NSString *, HMEnhancementListItem *> *dict = [NSMutableDictionary dictionary];
+       NSMutableArray<HMEnhancementListItem *> *array = [NSMutableArray array];
+       
+       for(HMEnhancementListItem *item in self.equipmentStrengthenList) {
+               HMEnhancementListItem *obj = [dict objectForKey:item.identifire];
+               if(!obj) {
+                       obj = [HMEnhancementListItem new];
+                       obj.identifire = item.identifire;
+                       obj.weekday = @10;
+                       obj.equipmentType = item.equipmentType;
+                       obj.targetEquipment = item.targetEquipment;
+                       obj.remodelEquipment = item.remodelEquipment;
+                       obj.requiredEquipments = item.requiredEquipments;
+                       obj.secondsShipNames = item.secondsShipNames;
+                       [dict setObject:obj forKey:item.identifire];
+                       [array addObject:obj];
+               }
+               
+               NSMutableOrderedSet<NSString *> *set = [NSMutableOrderedSet orderedSetWithArray:obj.secondsShipNames];
+               [set addObjectsFromArray:item.secondsShipNames];
+               obj.secondsShipNames = set.array;
+       }
+       
+       return array;
+}
+
 - (void)refreshTableView
 {
+       if(self.offsetDay == -1) {
+               self.itemList = [self allItemList];
+               return;
+       }
+       
        NSDate *now = [NSDate dateWithTimeIntervalSinceNow:0.0];
        NSCalendarUnit unit = NSCalendarUnitWeekday;
        NSDateComponents *currentDay = [[NSCalendar currentCalendar] components:unit fromDate:now];
        
-       NSPredicate *predicate = nil;
-       if(self.offsetDay != -1) {
-               NSInteger targetWeekday = currentDay.weekday + self.offsetDay;
-               if(targetWeekday > 7) targetWeekday = 1;
-               predicate = [NSPredicate predicateWithFormat:@"weekday = %ld", targetWeekday];
-       }
+       NSInteger targetWeekday = currentDay.weekday + self.offsetDay;
+       if(targetWeekday > 7) targetWeekday = 1;
+       NSPredicate *predicate = [NSPredicate predicateWithFormat:@"weekday = %ld", targetWeekday];
        self.itemList = [self.equipmentStrengthenList filteredArrayUsingPredicate:predicate];
 }
 
index cf38628..5dd256f 100644 (file)
@@ -48,7 +48,7 @@
                         </column>
                     </cells>
                     <connections>
-                        <binding destination="-2" name="selectedIndex" keyPath="offsetDay" id="VOA-d5-TvX"/>
+                        <binding destination="-2" name="selectedTag" keyPath="offsetDay" id="44u-FC-Nab"/>
                     </connections>
                 </matrix>
                 <scrollView autohidesScrollers="YES" horizontalLineScroll="104" horizontalPageScroll="10" verticalLineScroll="104" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="0L6-8Q-wSg">