Deprecated warnings, how to find replacement code in the help fast - ios

I find sometime deprecated warnings in my code, it shows the deprecated method name in the Issue Navigator, is there any shortcut or command to jump into the docs at the replacement method I could use to remove that old method fast ?
I would like to avoid jumping around the docs and searching manually for every deprecated method the compiler finds.
What's your best practice you use to do that fast without loosing concentration by having to search manually.
Using Xcode 4.6.3.

Try option-clicking over the method, and choose the class reference at the bottom of the popover that comes up. It should take you to the depreciated method, which usually informs you of the method that replaced it.

You can find it in the Inspector sidebar. Select the depreciated method and it will show under the Quick Help tab.

Related

Auto fix implement of missing method of protocol with Xcode?

I am not very familiar with Xcode,
Since I think every decent IDE should have a shortcut for auto-fix a template of implemented protocol (such as interface in java) to save some effects of the programmers to just fill in the logic and don't have to type in the method name and parameter stuff.
Such as when we meet this:
And I googled around and some guy said that there should be a fix all in scope thing in the Editor, but seems I can't make that clickable :-(
So, how to do this with xcode? Thanks.
Unfortunately Xcode is fairly behind compared to other IDE's in features for refactoring and such.
The main Xcode version: 8.x, can't do what you wish for. But some of it will be/is available in beta Xcode 9
Xcode may suggest a fix for a compiler error. You can click the errors individually to see the suggested fix(es) and select one.
Alternatively the 'Fix All In Scope' allows you to tell Xcode to select suggested fixes of the current file.

Weird Xcode autocomplete

I've updated my Xcode yesterday to version 7.3 and since then I got a really strange autocomplete (marked text, case sensitive etc.):
Is it something of the new version? Can I turn it off and use the classic autocomplete of Xcode?
Thank you!
Yes, it is a new autocomplete in the new Xcode version. It uses fuzzy matching to provide suggestions. I haven't found a way to turn it off, but give it a shot. The old autocomplete is absolutely dreadful. I used to install a Fuzzy Autocomplete plugin to make it work properly.
In the old days (in case of Objective-C, for instance, but it's the same with Swift), if you wanted to implement
- tableView:heightForRowAtIndexPath:
you typed -tableView, saw all the methods starting with tableView:, then you added a colon, and the autocomplete died. Now you can just enter something like -tv:hfrowatinp, and you instantly get your method.
It will take a bit of time getting used to, but it's worth it, trust me.

Is there any easiest way to implement all required methods of protocol in iOS?

First of all it's not the duplicate of this question because i couldn't find any discussion about offline documentation, suitable answers and about future release of updates in Xcode there.
Actually I am from android and java background and currently starting to develop iOS apps too. As we all know we use to implement all methods of an Interface easily with the help of suggestions given in IDE by pressing Alt + Enter.
And here in the iOS we have to see the reference each time and search for all required & optional methods, and implement them manually one by one which consumes times It's fine for a moment But
My Questions are :
Is there Any easiest way to view all required method at first lookup in documentation OR implement all required methods of protocol with the help of IDE ?
Is it possible that we will get this feature in future release of Xcode's update ?
I can't be ensure availability of Internet all the time, And How can I see the documentation at that time ?
Just go ahead and declare that your class adopts the protocol in question.
Xcode will point the error if you fail to implement any of the required methods:
From the list under the disclosure triangle (items with gray "!" icons), you can get a hint of the names of the missing methods. You can start to type and autocomplete will do the rest.
Update for Xcode 9:
It looks like now, you can auto-fill the methods with one click:
Refactoring
Rename a symbol in a single file or in a project across Swift, C, Objective-C, C++ files, and Interface Builder files.
View all the possible changes in one editor pane.
Convert method signatures between Swift and Objective-C formats.
Update properties, getters, setters, and synthesized iVars as needed.
Apply a fix-it everywhere with one button.
Automatically fill in missing cases in switch statements, and mandatory methods for protocol conformance with one click.
Extract method functionality for all supported languages, along with other language-specific local refactoring.
(emphasis mine)
And indeed:
Clicking "Fix" adds the necessary method stubs.
Go to Xcode -> preferences(on top-left corner) -> downloads -> here you will see list of items that can be downloaded. Download the documentation for iOS x.x version. So now, whenever you are offline.. you can go to help(top bar in window) -> documentation and search for whole ios documentation.. all the development guides etc

XCode 6.3 autocomplete not working

I'm learning basics of Objective-C and using XCode for writing code.
As you all know autocomplete option is perfect for new users that don't know (or remember) name of functions.
I have a problem with using autocomplete in XCode 6.3 couse its just.. not working - it is not showing anything or showing things that are not connected.
For example I just wrote simple few lines of code gusing NSMutableArray and NSEnumerator, when I'm trying to remind myself function/message 'nextObject' of NSEnumerator, XCode is not suggesting anything.
Here is a pic to show it:
Am I doing sth wrong or there is a way to fix it?
thanks in advance!
It must be a temporary glitch. Happens to me almost all the time while Xcode is "indexing". You might be typing too fast and by the time Xcode gives indexing a break and looks for the auto-completion you might have types something for which there is no method (or something that you expected)
Also, for custom classes & method, make sure you have included the respective header files.
It seems that autocomplete does not work when there is an error in the code.
The reason for autoComplete not working can be anything. Do any one of the following to debug it
Check if there are errors and if so try to solve it and then check autoComplete. If any error is present in any of the line then autoComplete will not work for below code. Try autoComplete above the error incase you want to check.
If debugger does not throw any error then try commenting out the all lines and uncomment it from top to methods to recheck the autoComplete
Quit Xcode and Reopen it
Clear Derived data and then launch Xcode and check

Bad Access at UIApplicationMain() if Keyboard's Correction is set to Default or Yes

In my project, there is a simple table view and search controller. Everything loads and works fine, until I type into the text field. It then crashes at UIApplicationMain(), with a stack track of several UIKeyboardInputImpl methods. On a whim, I decided to mess with the settings in IB for the Search Bar itself—turns out, setting the option for Correction to Default or Yes causes the crash. I've never seen this happen before, and I'm tempted to call this a bug in the SDK. Can anyone confirm or provide more insight?
Xcode 4 Project:
http://db.tt/V6POWik
I've downloaded and checked your sample project for all available options of Correction and it didn't crash. You should try cleaning your build and derived data just in case and try again. If you are sure that the problem is reproducible I would love to know the steps I need to take to reproduce the error/crash.
Bug in the SDK…not much that I can do.

Resources