OSDN Git Service

sortdiscriptorの設定をbindingからプログラマブルに変更
authormasakih <masakih@users.sourceforge.jp>
Fri, 9 May 2014 11:17:33 +0000 (20:17 +0900)
committermasakih <masakih@users.sourceforge.jp>
Fri, 9 May 2014 11:17:33 +0000 (20:17 +0900)
KCD/HMPowerUpSupportViewController.m
KCD/HMShipViewController.m
KCD/HMSlotItemWindowController.h
KCD/HMSlotItemWindowController.m
KCD/ja.lproj/HMPowerUpSupportViewController.xib
KCD/ja.lproj/HMShipViewController.xib
KCD/ja.lproj/HMSlotItemWindowController.xib

index cebacf5..4300290 100644 (file)
 - (void)awakeFromNib
 {
        [self changeCategory:nil];
+       
+       [self.shipController fetchWithRequest:nil merge:YES error:NULL];
+       
+       NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
+       id data = [ud objectForKey:@"powerupsupportsortdecriptor"];
+       id sortDescriptors = [NSKeyedUnarchiver unarchiveObjectWithData:data];
+       if(sortDescriptors) {
+               [self.shipController setSortDescriptors:sortDescriptors];
+       }
+       
+       [self.shipController addObserver:self
+                                                         forKeyPath:NSSortDescriptorsBinding
+                                                                options:0
+                                                                context:NULL];
 }
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
+{
+       if([keyPath isEqualToString:NSSortDescriptorsBinding]) {
+               NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
+               id sortDescriptors = [self.shipController sortDescriptors];
+               id data = [NSKeyedArchiver archivedDataWithRootObject:sortDescriptors];
+               [ud setObject:data forKey:@"powerupsupportsortdecriptor"];
+               
+               return;
+       }
+       
+       [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
+}
+
 
 - (NSManagedObjectContext *)managedObjectContext
 {
index f34dd6f..1340a6f 100644 (file)
@@ -33,6 +33,34 @@ typedef NS_ENUM(NSInteger, ViewType) {
 - (void)awakeFromNib
 {
        self.currentTableView = self.expTableView;
+       
+       
+       [self.shipController fetchWithRequest:nil merge:YES error:NULL];
+       
+       NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
+       id data = [ud objectForKey:@"shipviewsortdescriptor"];
+       id sortDescriptors = [NSKeyedUnarchiver unarchiveObjectWithData:data];
+       if(sortDescriptors) {
+               [self.shipController setSortDescriptors:sortDescriptors];
+       }
+       
+       [self.shipController addObserver:self
+                                                 forKeyPath:NSSortDescriptorsBinding
+                                                        options:0
+                                                        context:NULL];
+}
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
+{
+       if([keyPath isEqualToString:NSSortDescriptorsBinding]) {
+               NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
+               id sortDescriptors = [self.shipController sortDescriptors];
+               id data = [NSKeyedArchiver archivedDataWithRootObject:sortDescriptors];
+               [ud setObject:data forKey:@"shipviewsortdescriptor"];
+               
+               return;
+       }
+       
+       [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
 }
 - (NSManagedObjectContext *)managedObjectContext
 {
index d108f0b..9d4d072 100644 (file)
@@ -11,4 +11,6 @@
 @interface HMSlotItemWindowController : NSWindowController
 
 @property (readonly) NSManagedObjectContext *managedObjectContext;
+
+@property (nonatomic, strong) IBOutlet NSArrayController *slotItemController;
 @end
index bbff501..cc168d6 100644 (file)
        return self;
 }
 
+- (void)awakeFromNib
+{
+       [self.slotItemController fetchWithRequest:nil merge:YES error:NULL];
+       
+       NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
+       id data = [ud objectForKey:@"slotItemSortKey"];
+       id sortDescriptors = [NSKeyedUnarchiver unarchiveObjectWithData:data];
+       if(sortDescriptors) {
+               [self.slotItemController setSortDescriptors:sortDescriptors];
+       }
+       
+       [self.slotItemController addObserver:self
+                                                 forKeyPath:NSSortDescriptorsBinding
+                                                        options:0
+                                                        context:NULL];
+}
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
+{
+       if([keyPath isEqualToString:NSSortDescriptorsBinding]) {
+               NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
+               id sortDescriptors = [self.slotItemController sortDescriptors];
+               id data = [NSKeyedArchiver archivedDataWithRootObject:sortDescriptors];
+               [ud setObject:data forKey:@"slotItemSortKey"];
+               
+               return;
+       }
+       
+       [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
+}
+
 - (NSManagedObjectContext *)managedObjectContext
 {
        return [HMServerDataStore defaultManager].managedObjectContext;
index fa461c3..2c1afee 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5053" systemVersion="13C64" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13C1021" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
     <dependencies>
-        <deployment version="1070" defaultVersion="1080" identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5053"/>
+        <deployment version="1070" defaultVersion="1090" identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
     </dependencies>
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="HMPowerUpSupportViewController">
         <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" automaticallyRearrangesObjects="YES" id="b8v-Gn-JZD" userLabel="Ship">
             <connections>
                 <binding destination="-2" name="managedObjectContext" keyPath="managedObjectContext" id="mMh-Jt-CpI"/>
-                <binding destination="O24-QT-DRL" name="sortDescriptors" keyPath="values.powerupsupportsortdecriptor" id="KVq-5k-1KQ">
-                    <dictionary key="options">
-                        <string key="NSValueTransformerName">NSKeyedUnarchiveFromData</string>
-                    </dictionary>
-                </binding>
             </connections>
         </arrayController>
         <userDefaultsController representsSharedInstance="YES" id="O24-QT-DRL"/>
index 562a107..d19ef98 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5053" systemVersion="13C64" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13C1021" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
     <dependencies>
-        <deployment version="1070" defaultVersion="1080" identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5053"/>
+        <deployment version="1070" defaultVersion="1090" identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
     </dependencies>
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="HMShipViewController">
         <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" automaticallyRearrangesObjects="YES" id="b8v-Gn-JZD" userLabel="Ship">
             <connections>
                 <binding destination="-2" name="managedObjectContext" keyPath="managedObjectContext" id="mMh-Jt-CpI"/>
-                <binding destination="Ai5-X2-MeM" name="sortDescriptors" keyPath="values.shipviewsortdescriptor" id="YcO-8D-TfY">
-                    <dictionary key="options">
-                        <string key="NSValueTransformerName">NSKeyedUnarchiveFromData</string>
-                    </dictionary>
-                </binding>
             </connections>
         </arrayController>
         <userDefaultsController representsSharedInstance="YES" id="Ai5-X2-MeM"/>
index 91d699f..509aabb 100644 (file)
@@ -6,6 +6,7 @@
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="HMSlotItemWindowController">
             <connections>
+                <outlet property="slotItemController" destination="ceg-Ko-EOy" id="Dhw-8P-VMR"/>
                 <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
             </connections>
         </customObject>
                             <rect key="frame" x="1" y="427" width="687" height="16"/>
                             <autoresizingMask key="autoresizingMask"/>
                         </scroller>
-                        <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="37" horizontal="NO" id="W9i-6l-gQT">
+                        <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="W9i-6l-gQT">
                             <rect key="frame" x="-15" y="17" width="16" height="0.0"/>
                             <autoresizingMask key="autoresizingMask"/>
                         </scroller>
         <arrayController mode="entity" entityName="SlotItem" editable="NO" automaticallyPreparesContent="YES" automaticallyRearrangesObjects="YES" id="ceg-Ko-EOy">
             <connections>
                 <binding destination="-2" name="managedObjectContext" keyPath="managedObjectContext" id="gmN-zL-8kd"/>
-                <binding destination="zv1-TV-Khy" name="sortDescriptors" keyPath="values.slotItemSortKey" id="57p-Co-Ax4">
-                    <dictionary key="options">
-                        <string key="NSValueTransformerName">NSKeyedUnarchiveFromData</string>
-                    </dictionary>
-                </binding>
             </connections>
         </arrayController>
         <userDefaultsController representsSharedInstance="YES" id="zv1-TV-Khy"/>