{ "id": "104600", "key": "TIMOB-11900", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2012-11-07T13:53:09.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T20:03:32.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "In the [documentation for Titanium.UI.TableViewRow|http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.TableViewRow], hasCheck and getHasCheck() are listed as Boolean values, but hasCheck evaluates as a String and getHasCheck() returns a String. In Android, they are the strings 'true' and 'false' and in iOS, they are the strings '1' and '0'. Since none of these are empty strings, they are all 'truthy' in Javascript. Please also see the discussion [here|http://developer.appcelerator.com/question/144387/hascheck-works-on-ios-but-not-android].", "attachment": [], "flagged": false, "summary": "Android, iOS: Titanium.UI.TableViewRow.hasCheck and getHasCheck() return as number String, not Boolean", "creator": { "name": "chustedde", "key": "chustedde", "displayName": "Christina Hustedde", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "chustedde", "key": "chustedde", "displayName": "Christina Hustedde", "active": true, "timeZone": "America/New_York" }, "environment": "Titanium Studio, build: 2.1.2.201208301612", "comment": { "comments": [ { "id": "229169", "author": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is not really a doc issue. We should be returning a boolean, and we're not.\r\n\r\nThe substance of this bug is not entirely correct, either. It appears that in both cases, simply store the value passed in and don't try to coerce it to a boolean. If you pass in a boolean, it returns a boolean. If you pass in a string, it returns a string. Note that I can't reproduce the original issue: if I pass in a number, I'm getting a number back.\r\n\r\nIn both cases, the platform should probably be coerce the value to boolean when it returns. Also note:\r\n\r\n1) This applies to both iOS and Android.\r\n2) I believe this applies to the other boolean properties on TableViewRow, as well (such as hasChild and hasDetail).\r\n3) It undoubtedly affects other objects, as well, since we use this technique of dropping values into a properties dictionary in many places.\r\n\r\n", "updateAuthor": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-30T00:36:43.000+0000", "updated": "2012-11-30T00:38:12.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }