Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

Sometimes I have a interface that implements several protocols and I'll get a warning from XCode that my implementation is incomplete.

Is there an easy way to determine which methods are "required" but but implemented (without having to put in dummy implementations of all the non-optional methods from the protocol header files)?

For example, I have a warning on this interface but I don't want to have to dig through all the protocols.. obviously XCode knows that some are missing, why can't it just tell which they are!

@interface KTThumbsViewController : UIViewController <KTThumbsViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIAlertViewDelegate>

XCode 4

share|improve this question

3 Answers 3

Press alt and click on the protocol, xcode will show you where it is defined so you can take a look at the header file. Alternatively in the "issues" tab it will show you which methods you did not implement yet.

share|improve this answer

Didn't find the answer here, unfortunately. But a bit more digging turned up an answer, in the Issue navigator in the Navigator View.

Open the Navigator view via the View buttons at upper-right:

Then open the Issue navigator via the triangle/exclamation mark button at upper-left:

If you expand your "Incomplete implementation" Semantic Issue with the little triangle at left, you can see the details of XCode's complaint.

share|improve this answer

As a followup to this

Sometimes "Incomplete Implementation" really means "Mismatch between the function prototype and the implemented function".

For example, if in your .h file you had this:

- (NSTimeInterval) SayDigit: (int) score;

But in your .m file you had this:

- (NSTimeInterval) SayDigit: (int) digit: (NSTimeInterval) time

You would get the "Incomplete Implementation" warning.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com?utm_source=stackoverflow.com&amp;utm_medium=site-ui&amp;utm_campaign=footerlink\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2014 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a>                   with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2014.10.22.1959\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Stack Overflow works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></div>\r\n    </no"], "copyright__copyright__copyright": ["e and the implemented function\".\n\nFor example, if in your .h file you had this:\n\n- (NSTimeInterval) SayDigit: (int) score;\n\nBut in your .m file you had this:\n\n- (NSTimeInterval) SayDigit: (int) digit: (NSTimeInterval) time\n\nYou would get the \"Incomplete Implementation\" warning.\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}