{ "id": "162863", "key": "TIMOB-23836", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": [ { "id": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-08-30T07:22:58.000+0000", "created": "2016-08-29T21:24:28.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "ios10", "prefetching", "tableview" ], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-11-28T21:53:13.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "iOS 10 offers a new way to prefetch items before they are visible in the actual visible area. This allows the developer to be notified when items are fetched so he/she can react on that beforehand (e.g. for preloading images already).\r\n\r\n{quote}\r\nThe indexPaths are ordered ascending by geometric distance from the table view\r\n{quote}\r\n\r\nAlong with that, the user can also be notified when items that previously qualified for prefetching were not actually displayed. For both cases, we can expose them using the events {{prefetch}} and {{cancelprefetch}}.", "attachment": [], "flagged": false, "summary": "iOS10: Support UITableView data-source prefetching", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "closedSprints": [ { "id": 704, "state": "closed", "name": "2016 Sprint 18 SDK", "startDate": "2016-08-27T00:18:36.960Z", "endDate": "2016-09-10T00:18:00.000Z", "completeDate": "2016-09-09T20:26:13.865Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "394702", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/8285 \r\n\r\nDemo:\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow();\r\nvar list = Ti.UI.createListView();\r\nvar items = [];\r\n\r\nfor (var i = 0; i < 200; i++) {\r\n items.push({\r\n properties: {\r\n title: \"Item \" + i\r\n }\r\n });\r\n}\r\n\r\nlist.setSections([Ti.UI.createListSection({items: items})]);\r\n\r\nlist.addEventListener(\"prefetch\", function(e) {\r\n Ti.API.warn(\"event:prefetch\");\r\n Ti.API.warn(e.prefetchedItems);\r\n});\r\n\r\nlist.addEventListener(\"cancelprefetch\", function(e) {\r\n Ti.API.warn(\"event:cancelprefetch\");\r\n Ti.API.warn(e.prefetchedItems);\r\n});\r\n\r\nwin.add(list);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-08-29T21:46:17.000+0000", "updated": "2016-08-29T22:05:31.000+0000" }, { "id": "394769", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "CR and FT passed. Scroll the list view to see the prefetch events.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-08-30T07:22:47.000+0000", "updated": "2016-08-30T07:22:47.000+0000" }, { "id": "401932", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified, was able to see the {{prefetch}} information in the console (Using the code provided above). Example of the information shown in the console can be seen below. \r\n\r\n{code:java}\r\n[WARN] : event:prefetch\r\n[WARN] : (\r\n[WARN] : {\r\n[WARN] : itemIndex = 16;\r\n[WARN] : section = \"[object TiUIListSection]\";\r\n[WARN] : sectionIndex = 0;\r\n[WARN] : },\r\n[WARN] : {\r\n[WARN] : itemIndex = 17;\r\n[WARN] : section = \"[object TiUIListSection]\";\r\n[WARN] : sectionIndex = 0;\r\n[WARN] : },\r\n{code}\r\n\r\n*Environment*\r\n{code:java}\r\nAppcelerator Command-Line Interface, version 6.0.0\r\nIphone 6S (IOS 10.0)\r\nOperating System Name: Mac OS X El Capitan\r\nOperating System Version: 10.11.6\r\nNode.js Version: 4.6.0\r\nnpm: 4.2.8\r\nTitanium CLI Version: 5.0.10\r\nTitanium SDK Version: 6.1.0.v20161128031712\r\nXcode: 8.0\r\nAppcelerator Studio: 4.8.0.201611121409\r\n{code}\r\n", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-28T21:52:21.000+0000", "updated": "2016-11-28T21:52:52.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }