20170206 POST 傳參 NSArray && 不好的 數組拼接

1, POST 傳參 NSArray

segmentfault.com
最好的方式,應該是接口優化,不應該多層結構,最好是單層結構。也就是直接傳字典,字典里全部都是簡單的基本類型數據。

如果不能優化,那么就將數組轉化成JSON字符串,或者將數組中的數組按照一定的規則來來拼接,比如a|b|c這樣代替傳數組,后臺接收到時,就按照規則來分割得到數組了。

AFNetworking請求


+(void)postHttpRequestWithURLStr:(NSString )urlStr withParametersArray:(NSArray )parameters withResponseBlock:(void(^)(id sender))completion{

AFHTTPSessionManager *session = [AFHTTPSessionManager manager];

session.responseSerializer = [AFHTTPResponseSerializer serializer];

session.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];

session.requestSerializer = [AFJSONRequestSerializer serializer];

session.responseSerializer = [AFJSONResponseSerializer serializer];

[session.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];

[session.requestSerializer setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"Content-Type"];


[session POST:urlStr parameters:parameters success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject)
 {
     NSLog(@"POST請求成功");

     completion(responseObject);

 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
     NSLog(@"POST請求失敗");
 }];
}


2, 不好的 數組拼接


- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear: animated ];
    [self loadLifePhotosData ];
    
}

用這個 [self.photoUrls removeAllObjects ];
用這個 self.photoUrls = nil , 就 GG 了

- (void)loadLifePhotosData
{
    [self.photoUrls removeAllObjects ];   // 否則 ,有一個 拼接
    NSString * urlStrin = [NSString stringWithFormat: @"%@userId=%@", kLifephoto, [MainAccountModel shareMainAccountModel].idLoginAccout  ];
    //下載數據
    
    [ZheProgressHUD showOnView: self.view ];
    
    __weak typeof(self) weakSelf = self;
    //  問題
    [GetNetWorkDataMethod getDataWithParameters: nil requestType:ZheNetworkingRequestTypeGet andWithURLStr: urlStrin userInfo: nil success:^(NSURLSessionDataTask *task, NSDictionary *responseObject, NSDictionary *userInfo) {
        
        //responseObject;
        for (NSDictionary * dictionaryTemp in responseObject){
            NSString * urlStri = [dictionaryTemp valueForKey: @"Url" ];
            [weakSelf.photoUrls addObject: urlStri ];
        }

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,199評論 30 471
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,861評論 1 10
  • 時間 2017年4月23日晚9點過3分。 跟隨霞霞的同學一騎打完球,吃完飯,然后看他們都回去。回到家內心突然感受到...
    蘭紫鷊草閱讀 197評論 0 0
  • 最喜新鮮的獼猴桃 雙手并不怎么用力的掬開 綠色汁液順著手指流入手掌 偏這次沒有去買獼猴桃 買來獼猴桃片 被一層透明...
    小魚叔閱讀 148評論 3 1
  • 我說 所愛隔山海山海不可平如果要是你愛我山海皆可平
    尹大大大大閱讀 131評論 0 0