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

Fix #491, close #473

Remove (most) uses of +[NSString stringWithCString:encoding:]
Tanner Bennett лет назад: 5
Родитель
Сommit
b57a333fc9

+ 1 - 1
Classes/GlobalStateExplorers/Keychain/FLEXKeychainQuery.m

@@ -170,7 +170,7 @@
 
 - (NSString *)password {
     if (self.passwordData.length) {
-        return [NSString stringWithCString:self.passwordData.bytes encoding:NSUTF8StringEncoding];
+        return [[NSString alloc] initWithData:self.passwordData encoding:NSUTF8StringEncoding];
     }
     
     return nil;

+ 2 - 1
Classes/Network/FLEXNetworkCurlLogger.m

@@ -28,7 +28,8 @@
     }
 
     if (request.HTTPBody) {
-            [curlCommandString appendFormat:@"-d \'%@\'", [NSString stringWithCString:request.HTTPBody.bytes encoding:NSUTF8StringEncoding]];
+        NSString *body = [[NSString alloc] initWithData:request.HTTPBody encoding:NSUTF8StringEncoding];
+        [curlCommandString appendFormat:@"-d \'%@\'", body];
     }
 
     return curlCommandString;

+ 2 - 1
Classes/Network/FLEXNetworkTransactionDetailController.m

@@ -426,7 +426,8 @@ typedef UIViewController *(^FLEXNetworkDetailRowSelectionFuture)(void);
     if (transaction.cachedRequestBody.length > 0) {
         NSString *contentType = [transaction.request valueForHTTPHeaderField:@"Content-Type"];
         if ([contentType hasPrefix:@"application/x-www-form-urlencoded"]) {
-            NSString *bodyString = [NSString stringWithCString:[self postBodyDataForTransaction:transaction].bytes encoding:NSUTF8StringEncoding];
+            NSData *body = [self postBodyDataForTransaction:transaction];
+            NSString *bodyString = [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding];
             postBodySection.rows = [self networkDetailRowsFromQueryItems:[FLEXUtility itemsFromQueryString:bodyString]];
         }
     }

+ 8 - 4
Classes/Utility/FLEXUtility.m

@@ -359,14 +359,18 @@ BOOL FLEXConstructorsShouldRun() {
     
     id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
     if ([NSJSONSerialization isValidJSONObject:jsonObject]) {
-        prettyString = [NSString stringWithCString:[NSJSONSerialization
-            dataWithJSONObject:jsonObject options:NSJSONWritingPrettyPrinted error:NULL
-        ].bytes encoding:NSUTF8StringEncoding];
+        // Thanks RaziPour1993
+        prettyString = [[NSString alloc]
+            initWithData:[NSJSONSerialization
+                dataWithJSONObject:jsonObject options:NSJSONWritingPrettyPrinted error:NULL
+            ]
+            encoding:NSUTF8StringEncoding
+        ];
         // NSJSONSerialization escapes forward slashes.
         // We want pretty json, so run through and unescape the slashes.
         prettyString = [prettyString stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"];
     } else {
-        prettyString = [NSString stringWithCString:data.bytes encoding:NSUTF8StringEncoding];
+        prettyString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
     }
     
     return prettyString;