When you run into problems developing an iOS or Mac app, you can get help by asking a question online at sites like Stack Overflow, Reddit, Slack, and Apple’s developer forums. If you need to ask a question, use the tips in this article to get answers faster.
Tip 1: Search First
The fastest way to get an answer to a question online is to not have to ask it. Before you ask a question, search the site or do a search in a search engine to see if someone else had the same question. The chances are pretty good that someone had the same question and received an answer.
Tip 2: Use a Descriptive Title/Subject
I’m amazed by the number of programming questions I see online with the title “Help”. Just about everyone asking a question on a forum is looking for help. Post a brief summary of the issue in the title that is clear enough that people have a general idea of the problem you’re having.
Examples of poor question titles:
- Xcode doesn’t work
- Source code
Those titles are too vague. People are less likely to read a poorly titled question. If they don’t read your question, they won’t answer it.
Examples of good question titles:
- How do I download Xcode outside the Mac App Store?
- Using NSArrayController in multiple storyboard scenes
- UITextView not scrolling in portrait orientation on iOS 11
- How can I sort a Swift set in alphabetical order?
With titles like these someone can tell if the question is worth reading. Poorly titled questions aren’t worth reading.
Tip 3: Don’t Post Screenshots of Error Messages and Code
On Reddit and Slack people like to ask a question and show a screenshot of Xcode on their computer. Text in screenshots is difficult to read. In the best case scenario, people will ask for more information, delaying you receiving an answer. In the worst case scenario people will ignore your question.
If you are going to include a code listing or error message in your question, paste the code/error message into the question as text.
Tip 4: Post Relevant Information
The biggest mistake I see people make when asking programming questions online is not supplying enough information to answer the question. People have to ask for additional information, which delays you getting an answer. To get an answer faster, supply all the information that people need to answer your question.
What information is relevant depends on the question, but examples of relevant information include the following:
- What you are trying to accomplish.
- What you tried.
- What the specific problem is.
- The steps to take to reproduce the issue.
- If you are following a tutorial, provide a link to the tutorial.
- The code where the problem occurs, if the question is about code.
Remember to be specific with the information you provide. Saying something like “it doesn’t work” can mean many things. It can mean the project doesn’t compile. It can mean the app crashes. It can mean the app does something you don’t expect.
Tip 5: Don’t Show All the Code in Your Project
Sometimes people go too far the other way with code listings. They share all the code from their project.
People who answer questions online don’t want to read hundreds of lines of code. Post only as much code as you need to show the problem.