2016-03-23 9 views
0

イムのメソッドを呼び出すが、プロパティアクセス結果未使用エラーImは次の警告を取得</p> <pre><code>APIRequest *apiRequest = [[APIRequest alloc]init]; apiRequest.pendingShipmentDetails ; </code></pre> <p>、メソッドを呼び出すために、次のコードを使用して

プロパティアクセス結果未ゲッターを使用すべきではありませんサイド用 エフェクト

この意味は?続き

及び方法は、同時に二回呼ばなっている

は私の方法であり、

-(void)pendingShipmentDetails 
{ 
    keyChain = [[KeyChainItemWrapper alloc] initWithIdentifier:@"LoginController" accessGroup:nil]; 
    NSString *username = [keyChain objectForKey:(__bridge id)(kSecAttrLabel)]; 

    NSString *bodyString = [NSString stringWithFormat:@"{\"method\":\"pending_shipment_details\",\"data\":{\"username\":\"%@\"}}",username]; 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"url"]]; 
    NSData *postData = [bodyString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
    [request setHTTPBody:postData]; 
    [request setHTTPMethod:@"POST"]; 
    NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 

    NSOperationQueue *queue = [[NSOperationQueue alloc] init]; 

    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) 
    { 
     if ([data length] > 0 && connectionError == nil) 
     { 
      [self receivedPendingShipmentDetailsData:data]; 
      NSString* pendingResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
      NSData *jsonData = [pendingResponse dataUsingEncoding:NSUTF8StringEncoding]; 
      NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil]; 
      NSDictionary *valueDict = [jsonDic objectForKey:@"value"]; 

      NSArray *details = [valueDict objectForKey:@"details"]; 

      NSMutableArray* arrayList = [[NSMutableArray alloc] init]; 

      for (NSDictionary *response in details) { 
       NSString *invoiceNo = [response valueForKey:@"invoice_no"]; 
       NSString *shipmentNumber = [response valueForKey:@"shipment_no"]; 
       NSString *invoiceDate = [response valueForKey:@"invoice_date"]; 
       NSString *proformaInvoiceNumber = [response valueForKey:@"proforma_invoice_no"]; 
       NSString *proformaInvoiceDate = [response valueForKey:@"proforma_invoice_date"]; 
       NSString *plannedShipmentDates = [response valueForKey:@"planned_shipment_dates"]; 
       NSString *pointOfContact =[[response objectForKey:@"point_of_contact"] valueForKey:@"empid"]; 
       NSString *pendingStatus = [response valueForKey:@"status"]; 
       NSDictionary *productName = [response valueForKey:@"products"]; 
       NSDictionary *quantity = [response valueForKey:@"quantity"]; 
       NSDictionary *rate = [response valueForKey:@"rate"]; 
       NSDictionary *amount = [response valueForKey:@"amount"]; 
       NSDictionary *productImages = [response valueForKey:@"product_image"]; 
       NSDictionary *point_of_contact = [response valueForKey:@"point_of_contact"]; 

       NSString *qty; 
       NSString *rte; 
       NSString *img; 
       NSString *address; 
       NSString *name; 
       NSString *amt; 

       for (int i = 0; i < [productName count]; i++) { 
        // NSLog(@"product name %@",[productName valueForKey:[NSString stringWithFormat:@"%d",i ]]); 
        name = [productName valueForKey:[NSString stringWithFormat:@"%d",i ]]; 
       } 

       for (int i = 0; i < [quantity count]; i++) { 
        // NSLog(@"quantity %@",[quantity valueForKey:[NSString stringWithFormat:@"%d",i ]]); 
        qty = [quantity valueForKey:[NSString stringWithFormat:@"%d",i ]]; 
       } 

       for (int i = 0; i < [rate count]; i++) { 
        // NSLog(@"rate %@",[rate valueForKey:[NSString stringWithFormat:@"%d",i ]]); 
        rte = [rate valueForKey:[NSString stringWithFormat:@"%d",i ]]; 
       } 

       for (int i = 0; i < [amount count]; i++) { 
        // NSLog(@"amount %@",[amount valueForKey:[NSString stringWithFormat:@"%d",i ]]); 
        amt = [amount valueForKey:[NSString stringWithFormat:@"%d",i ]]; 
       } 


       for (int i = 0; i < [productImages count]; i++) { 
        // NSLog(@"product image %@",[productImages valueForKey:[NSString stringWithFormat:@"%d",i ]]); 
        img = [productImages valueForKey:[NSString stringWithFormat:@"%d",i ]]; 
       } 

       for (int i = 0; i < [point_of_contact count]; i++) { 
        // NSLog(@"pt of ct %@",[point_of_contact valueForKey:[NSString stringWithFormat:@"empid" ]]); 
        address = [point_of_contact valueForKey:[NSString stringWithFormat:@"empid" ]]; 
       } 


       NSManagedObjectContext *context = [self managedObjectContext]; 

       //update 
       if((self.pendingShipmentDAO)) { 
        NSLog(@"update"); 
        [self.pendingShipmentDAO setValue:shipmentNumber forKey:@"shipmentno"]; 
        [self.pendingShipmentDAO setValue:proformaInvoiceNumber forKey:@"proforma_invoice_no"]; 
        [self.pendingShipmentDAO setValue:proformaInvoiceDate forKey:@"proforma_invoice_date"]; 
        [self.pendingShipmentDAO setValue:invoiceNo forKey:@"invoice_no"]; 
        [self.pendingShipmentDAO setValue:invoiceDate forKey:@"invoice_date"]; 
        [self.pendingShipmentDAO setValue:plannedShipmentDates forKey:@"planned_shipment_date"]; 
        [self.pendingShipmentDAO setValue:address forKey:@"point_of_contact"]; 
        [self.pendingShipmentDAO setValue:address forKey:@"empid"]; 
        [self.pendingShipmentDAO setValue:name forKey:@"products"]; 
        [self.pendingShipmentDAO setValue:qty forKey:@"quantity"]; 
        [self.pendingShipmentDAO setValue:rte forKey:@"rate"]; 
        [self.pendingShipmentDAO setValue:amt forKey:@"amount"]; 
        [self.pendingShipmentDAO setValue:img forKey:@"product_image"]; 
        [self.pendingShipmentDAO setValue:pendingStatus forKey:@"status"]; 
       }else { 

        NSLog(@"create"); 

        NSManagedObject *pendingShipment = [NSEntityDescription insertNewObjectForEntityForName:@"PendingShipmentDetails" inManagedObjectContext:context]; 

        // [self deleteAllPreviousData]; 
        [pendingShipment setValue:shipmentNumber forKey:@"shipmentno"]; 
        [pendingShipment setValue:proformaInvoiceNumber forKey:@"proforma_invoice_no"]; 
        [pendingShipment setValue:proformaInvoiceDate forKey:@"proforma_invoice_date"]; 
        [pendingShipment setValue:invoiceNo forKey:@"invoice_no"]; 
        [pendingShipment setValue:invoiceDate forKey:@"invoice_date"]; 
        [pendingShipment setValue:plannedShipmentDates forKey:@"planned_shipment_date"]; 
        [pendingShipment setValue:address forKey:@"point_of_contact"]; 
        [pendingShipment setValue:address forKey:@"empid"]; 
        [pendingShipment setValue:name forKey:@"products"]; 
        [pendingShipment setValue:qty forKey:@"quantity"]; 
        [pendingShipment setValue:rte forKey:@"rate"]; 
        [pendingShipment setValue:amt forKey:@"amount"]; 
        [pendingShipment setValue:img forKey:@"product_image"]; 
        [pendingShipment setValue:pendingStatus forKey:@"status"]; 


       } 
      } 
     } 

     else if ([data length] == 0 && connectionError == nil) 
     { 
      [self emptyReply]; 
     } 
     else if (connectionError != nil && connectionError.code == NSURLErrorTimedOut) 
     { 
      [self timedOut]; 
     } 
     else if (connectionError != nil) 
     { 
      [self downloadError:connectionError]; 
     } 
    }]; 

} 
+0

クラス*宣言*( '@ interface'ビット)を表示します。 – trojanfoe

+0

'@interface MyOrdersController() @property(strong)NSMutableArray * devices; @property SomeType * pendingShipmentDetails;があるはずです。 @end ' –

答えて

1

ドット表記は、それらを(取得または設定)特性のために使用されます。だからここでは、コンパイラはpendingShipmentDetailsというゲッタを呼びたいと思っています。メソッドを呼び出すには、[]を使用する必要があります。 apiRequest.pendingShipmentDetails[apiRequest pendingShipmentDetails]に置き換え、警告が消えるはずです。

+0

が動作します。 2番目のエラーも是正するために私を助けてくれますか? –

+0

elseループが2回実行されている –

+1

"セッターに電話したい" おそらく 'ゲッター'を意味するのでしょうか? –

関連する問題

 関連する問題