亚洲精品亚洲人成在线观看麻豆,在线欧美视频一区,亚洲国产精品一区二区动图,色综合久久丁香婷婷

              當前位置:首頁 > IT技術(shù) > 移動平臺 > 正文

              iOS Q&A匯總【本博客精品資源相關(guān)問題和解決方案】(持續(xù)更新)
              2021-08-08 17:42:22

              ?

              文章目錄

              • 引言
              • I、簽名數(shù)組ASCII碼排序優(yōu)化
                • 1.1 優(yōu)化數(shù)組元素的排序
                • 1.2 新增集合元素排序:
                • 1.3 微信支付參數(shù)值為空不參與排序的處理方案
              • II、編譯相關(guān)問題
                • 2.1 為什么我下載demo后,在xcode12中允許報錯:library not found for -lAXIndicatorView;請問怎么解決?

              ?

              引言

              匯總本博客精品資源相關(guān)問題和解決方案(持續(xù)更新)

              I、簽名數(shù)組ASCII碼排序優(yōu)化

              1.1 優(yōu)化數(shù)組元素的排序

              • 用戶你好,針對你的問題,我修改內(nèi)容如下
                iOS Q&A匯總【本博客精品資源相關(guān)問題和解決方案】(持續(xù)更新)_字符串

              數(shù)組的地方,我的規(guī)則是[] 表示數(shù)組,數(shù)組元素是用,分隔[,,,] 進行遞歸拼接的。
              你認為數(shù)組ASCII碼排序的地方是錯誤的話,你可以打印排序之后的字符串,看排序與你服務(wù)側(cè)的拼接規(guī)則哪里不一樣。把規(guī)則修改為與后臺的數(shù)組排序規(guī)則一致即可。

              /**
               - 處理key對應(yīng)的Value是數(shù)組的情況
              
               */
              + (NSString *)sortedDictionaryArr:(NSArray *)arr {
                  
                  
                  NSMutableString *contentString =[NSMutableString string];
              
                  #pragma mark - ******** 可選
              
               arr =    [self sortedArrBykey:sortedArray];//
              
                  for ( id obj in arr ) {
                      
                      
                      
                          NSString * tmp = @"";
              
                          if(contentString.length<1 || [contentString isEqualToString:@""]){//
                          
                          
                          
                      }
                      else{
                          [contentString appendString:@","];
                          
                          
                      }
                      
                      
                      
                      
                            
                                       if( [obj isKindOfClass:NSDictionary.class]){
                                           
                                  
                                  
                                  tmp = [self sortedDictionary:obj];
                                           
                                           
                                  
                                           
                                  
                                  
                                  
                              }
                      
                              // 數(shù)組就[]
                              
                              else         if( [obj isKindOfClass:NSArray.class]){
                                  
                                  
                                  tmp = [self sortedDictionaryArr:obj];
                                  
              
                                              tmp = [NSString stringWithFormat:@"%@%@%@",@"{",tmp,@"}"];
              
                                  
                              }
                              else{
                          
                          tmp=   obj;
                          
              
                          
                      }
              
              
              
                      
                      
                      
                      [contentString appendFormat:@"%@",tmp];
                      
                      
                      
                  }
                  
                  
                                      contentString = [NSString stringWithFormat:@"%@%@%@",@"[",contentString,@"]"];
                  
              
                  
              
                  return contentString;
                  
                  
                  
              }
              
              

              例子:編輯門店的商品的價格
              請求報文:

              {
                "adjustStocks" : [
                  {
                    "nnewStockNum" : "0",
                    "productId" : "1280072986512433152",
                    "newStockNum" : "0",
                    "oldStockNum" : "0",
                    "storeId" : "25063",
                    "productSkuId" : "1280072986516627456",
                    "batchNo" : ""
                  }
                ],
                "modifyPrices" : [
                  {
                    "tagId" : "25063",
                    "productNewPrice" : "5",
                    "productSkuId" : "1280072986516627456",
                    "type" : "1",
                    "productId" : "1280072986512433152",
                    "productOldPrice" : "33"
                  }
                ]
              }
              

              簽名元字符串的ASCII碼排序

              adjustStocks=[batchNo=&newStockNum=0&nnewStockNum=0&oldStockNum=0&productId=1280072986512433152&productSkuId=1280072986516627456&storeId=25063]&modifyPrices=[productId=1280072986512433152&productNewPrice=55&productOldPrice=5&productSkuId=1280072986516627456&tagId=25063&type=1]&appsecret=4f7b71
              

              1.2 新增集合元素排序:

              對于數(shù)組排序,我的初步想法是,先按照數(shù)組元素的class類型進行分組,其中的子數(shù)組是字符串類型的話,就對其進行排序之后再重新組合到新的數(shù)組中。然后再進行遍歷遞歸拼接

              /**
               
               1、新增集合元素排序:對于數(shù)組排序,我的初步想法是,先按照數(shù)組元素的class類型進行分組,其中的子數(shù)組是字符串類型的話,就對其進行排序之后再重新組合到新的數(shù)組中。然后再進行遍歷遞歸拼接
              
               */
              + (NSMutableArray *)sortedArrBykey:(NSArray *)array {
                  
                  
                  
                      
                  // 對數(shù)組先按照class類型進行排序
                      
                      //1)取出分組
                  
              //        NSArray *arDistinct = [array valueForKeyPath:@"@distinctUnionOfObjects.class"];//  無法獲取到字典class類型
                  
              //    NSMutableArray *classArr = [NSMutableArray arrayWithArray:arDistinct];
                  
                  NSMutableArray *strclassArr = [NSMutableArray array];
                  NSMutableArray *nostrclassArr = [NSMutableArray array];
              
              
                  for (NSObject* obj in array) {
                      
                      
                      if([obj isKindOfClass:NSString.class]){
                          
                          
                          [strclassArr addObject:obj];
                      }else{
                          
                          [nostrclassArr addObject:obj];
                          
              
                      }
                      
                  }
                  
              
                      //     4)按照日期進行分組
                      NSMutableArray* sortedArray = [NSMutableArray array];
                      
                                  
                  strclassArr = [strclassArr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){
                                      return [obj1 compare:obj2 options:NSNumericSearch];
                                      
                                  }];
                                  
                                  
              
                                  
                       
                              [sortedArray addObjectsFromArray:strclassArr];
                  [sortedArray addObjectsFromArray:nostrclassArr];
              
                              
                              
                       
                  
                  
                  
                  return sortedArray;
                  
                  
              }
              
              
              
              

              1.3 微信支付參數(shù)值為空不參與排序的處理方案

              參數(shù)為空的 只要排序之前從字典移除即可。

              規(guī)則的原因 :簽名只對針對重要的字段,值可空的參數(shù)可不必參加

              II、編譯相關(guān)問題

              2.1 為什么我下載demo后,在xcode12中允許報錯:library not found for -lAXIndicatorView;請問怎么解決?

              iOS Q&A匯總【本博客精品資源相關(guān)問題和解決方案】(持續(xù)更新)_問題與解決方案_02

              原因:這是找不到 CocoaPods庫 AXIndicatorView。是 AXWebViewController庫依賴于它

              iOS Q&A匯總【本博客精品資源相關(guān)問題和解決方案】(持續(xù)更新)_iOS_03
              iOS Q&A匯總【本博客精品資源相關(guān)問題和解決方案】(持續(xù)更新)_問題與解決方案_04

              • 解決方法: 你更新 pod ‘AXWebViewController’ 即可。

              1、只更新指定的庫,其它庫忽略:pod update AXWebViewController --verbose --repo-update
              2、pod update會更新所有的類庫,獲取最新版本的類庫

              exit 0%                                                                                                                           ?  retail git:(develop) ? cat ~/bin/knpod
              #!/bin/sh
              
              #該命令只安裝新添加的庫,已更新的庫忽略
              
              pod install --verbose --no-repo-update
              #該命令只更新指定的庫,其它庫忽略
              #pod update 庫名 --verbose --no-repo-update
              
              exit 0%                                                                                                                           ?  retail git:(develop) ? 
              
              

              ?

              本文摘自 :https://blog.51cto.com/i

              開通會員,享受整站包年服務(wù)立即開通 >