Return-Path: X-Original-To: apmail-incubator-callback-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-callback-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 56F8E9E1E for ; Tue, 6 Mar 2012 21:46:18 +0000 (UTC) Received: (qmail 76026 invoked by uid 500); 6 Mar 2012 21:46:18 -0000 Delivered-To: apmail-incubator-callback-dev-archive@incubator.apache.org Received: (qmail 75988 invoked by uid 500); 6 Mar 2012 21:46:18 -0000 Mailing-List: contact callback-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: callback-dev@incubator.apache.org Delivered-To: mailing list callback-dev@incubator.apache.org Received: (qmail 75980 invoked by uid 99); 6 Mar 2012 21:46:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Mar 2012 21:46:18 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Mar 2012 21:46:17 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id F06F5B398 for ; Tue, 6 Mar 2012 21:45:56 +0000 (UTC) Date: Tue, 6 Mar 2012 21:45:56 +0000 (UTC) From: "Oleg Gryb (Commented) (JIRA)" To: callback-dev@incubator.apache.org Message-ID: <1963670254.29742.1331070356986.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <940023062.44600.1329359099555.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (CB-255) iOS: a parameter with value 'null' is not passed to 'arguments' array MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CB-255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13223688#comment-13223688 ] Oleg Gryb commented on CB-255: ------------------------------ After looking to the Cordova branches suggested by Filip Maj: https://github.com/filmaj/incubator-cordova-js https://github.com/filmaj/incubator-cordova-ios I think that what we need to do is to simplify arguments processing in Cordova.exec function as follows: for (var i = 0; i < actionArgs.length; ++i) { var arg = actionArgs[i]; // if (arg == undefined || arg == null) { // if (arg == undefined) { // continue; // } else if (typeof(arg) == 'object') { // command.options = arg; // } else { command.arguments.push(arg); // } } It will lead to the following effects: 1. options collection will be always empty. Does anyone really care? Can we put all elements to 'arguments' just like in Android's case? 2. null parameter will be passed to 'arguments' as an NSNull object, which would be perfect in my view. Please let me know you thoughts. I think, we still need to keep the 'withDict:(NSMutableDictionary *)options' parameter in iOS methods for backward compatibility. > iOS: a parameter with value 'null' is not passed to 'arguments' array > ---------------------------------------------------------------------- > > Key: CB-255 > URL: https://issues.apache.org/jira/browse/CB-255 > Project: Apache Callback > Issue Type: Bug > Components: iOS > Affects Versions: 1.4.0 > Environment: iOS Mac OS X 10.7 > Reporter: Oleg Gryb > Assignee: Shazron Abdullah > Fix For: 1.6.0 > > > In the following JS call the second parameter (null) will not be passed to 'arguments' array in a Objective-C controller. > The 'arguments' array will contain only first ('1') and third ('3') parameters. > > return PhoneGap.exec(successCallback, > failureCallback, > VPCLASS, > 'method', > [1, null, 3]); > Hint: typeof(null) is equal to 'object' in JS. PhoneGap.js uses this check to determine if a parameter should go to 'arguments' or to 'options' collections. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira