Просмотр исходного кода

Global variables are bad, but mutable global variables are worse! And we don't need to append to this object anymore, so just making s_defaultGlobalEntries an NSArray.

Javier Soto лет назад: 12
Родитель
Сommit
8760539c68
1 измененных файлов с 8 добавлено и 4 удалено
  1. 8 4
      Classes/Global State Explorers/FLEXGlobalsTableViewController.m

+ 8 - 4
Classes/Global State Explorers/FLEXGlobalsTableViewController.m

@@ -18,7 +18,9 @@
 #import "FLEXManager+Private.h"
 #import "FLEXManager+Private.h"
 
 
 static __weak UIWindow *s_applicationWindow = nil;
 static __weak UIWindow *s_applicationWindow = nil;
-static NSMutableArray *s_globalEntries = nil;
+
+/// [FLEXGlobalsTableViewControllerEntry *]
+static NSArray *s_defaultGlobalEntries = nil;
 
 
 typedef NS_ENUM(NSUInteger, FLEXGlobalsRow) {
 typedef NS_ENUM(NSUInteger, FLEXGlobalsRow) {
     FLEXGlobalsRowLiveObjects,
     FLEXGlobalsRowLiveObjects,
@@ -52,7 +54,7 @@ typedef NS_ENUM(NSUInteger, FLEXGlobalsRow) {
 }
 }
 
 
 + (void)initializeStandardGlobalEntries {
 + (void)initializeStandardGlobalEntries {
-    s_globalEntries = [NSMutableArray array];
+    NSMutableArray *defaultGlobalEntries = [NSMutableArray array];
 
 
     for (FLEXGlobalsRow defaultRowIndex = 0; defaultRowIndex < FLEXGlobalsRowCount; defaultRowIndex++) {
     for (FLEXGlobalsRow defaultRowIndex = 0; defaultRowIndex < FLEXGlobalsRowCount; defaultRowIndex++) {
         FLEXGlobalsTableViewControllerEntryNameFuture titleFuture = nil;
         FLEXGlobalsTableViewControllerEntryNameFuture titleFuture = nil;
@@ -179,8 +181,10 @@ typedef NS_ENUM(NSUInteger, FLEXGlobalsRow) {
         NSParameterAssert(titleFuture);
         NSParameterAssert(titleFuture);
         NSParameterAssert(viewControllerFuture);
         NSParameterAssert(viewControllerFuture);
 
 
-        [s_globalEntries addObject:[FLEXGlobalsTableViewControllerEntry entryWithNameFuture:titleFuture viewControllerFuture:viewControllerFuture]];
+        [defaultGlobalEntries addObject:[FLEXGlobalsTableViewControllerEntry entryWithNameFuture:titleFuture viewControllerFuture:viewControllerFuture]];
     }
     }
+
+    s_defaultGlobalEntries = [defaultGlobalEntries copy];
 }
 }
 
 
 - (id)initWithStyle:(UITableViewStyle)style
 - (id)initWithStyle:(UITableViewStyle)style
@@ -188,7 +192,7 @@ typedef NS_ENUM(NSUInteger, FLEXGlobalsRow) {
     self = [super initWithStyle:style];
     self = [super initWithStyle:style];
     if (self) {
     if (self) {
         self.title = @"🌎  Global State";
         self.title = @"🌎  Global State";
-        _entries = [[s_globalEntries copy] arrayByAddingObjectsFromArray:[FLEXManager sharedManager].userGlobalEntries];
+        _entries = [s_defaultGlobalEntries arrayByAddingObjectsFromArray:[FLEXManager sharedManager].userGlobalEntries];
     }
     }
     return self;
     return self;
 }
 }