Autocomplete fails new iOS developers
| Originator: | random4444 | ||
| Number: | rdar://16255024 | Date Originated: | 06-Mar-2014 03:57 PM |
| Status: | Open | Resolved: | |
| Product: | Developer Tools | Product Version: | Xcode 5.0.2 (5A3005) |
| Classification: | Crash/Hang/Data Loss | Reproducible: | Always |
Summary: Students frequently end up with "tableView:didDeselectRowAtIndexPath:" when they wanted "didSelect...". I see this in every single class I type, usually most of the students run into it sometime during the week. Steps to Reproduce: 1. Make a new UITableViewController. 2. Start typing a new method. "tableVi" 3. Notice auto-complete results. 4. Since you can't jump to the 2nd part of the method (ie pick all "tableView:" methods), you have to arrow down to the one you want. 5. Also, since you may be on a laptop, and autocomplete is restricted to one line per option, notice you can't actually see the full method names of all the options. 6. Accidentally select "didDeselect..." instead of "didSelect..." method. 7. Be very surprised at the weird behavior of your table view. Expected Results: Autocomplete should help users to succeed by giving full and clear completions, and allowing users to navigate those options skillfully. Autocomplete has a challenging job, given Obj-C verbose-ness. However it could do more to allow users to zoom in on the set of methods they are actually interested in, and be able to read them. It needs to allow multi-line options for each results, or some other way of selecting. AppCode has a fantastic option here that will allow you to type just the uppercase letters in a camel-case method (dsrfcn) which would prevent this particular common mistake. Also AppCode allows you to type words in the middle of a method, which makes it easier when you know most of the method name but forget the first word. Actual Results: Student ends up with wrong method name, and no obvious way to troubleshoot. Instead, it weirdly appears that they only get the message call on their 2nd and subsequent taps on the table view. Without an instructor, they might easily lose a few hours or even give up on finding this. Alternately they might delete the code and start over, never knowing that actually they fell prey to an autocomplete trick. Regression: All versions. Notes: Workaround: take a BNR course, where we'll help you catch this and teach you all the tricks we know to avoid autocomplete shooting you in the foot. ;)
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!