• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How to avoid warning?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to avoid warning?


  • Subject: Re: How to avoid warning?
  • From: Dave <email@hidden>
  • Date: Tue, 22 Jan 2013 18:15:27 +0000


On 22 Jan 2013, at 18:07, Keary Suska wrote:


On Jan 22, 2013, at 10:23 AM, Dave wrote:


On 21 Jan 2013, at 18:44, Steve Sisak wrote:

At 6:14 PM +0000 1/21/13, Dave wrote:
if (class_RespondsToSelector(myClass,@selector(initWithManager:) == NO)
	myObj = [[myClass alloc] init];
else
	myObj = [[myClass alloc] initWithManager:sel]];

I get a warning on the initWithManager: statement (Obviously), how to avoid the warning or otherwise fix it?

You could try declaring initWithManager: in a category on the class visible only to your implementation code. (i.e. at the top of your .m file)

The class name is passed in as a string and the class is formed from that, so I can't pre-declare it. Please see my other reply.


If in fact myClass may be any number of classes that may implement certain methods, the "right" way to do this is using a protocol. Protocols are designed to fit this purpose. I don't recall, however, the exact method to hint to the compiler enough to avoid the warning. Importing the protocol header may be sufficient.

This has to work with classes that exist already as well as classes that don't. If initWithManager is defined in the class in question "knows" what it is being called like this, if not then it defaults to the regular NSObject init.

For instance it could be NSString or NSArray that is the class, in which case it won't have "initWithManager" so it calls init instead.

All the Best
Dave


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: How to avoid warning?
      • From: Jens Alfke <email@hidden>
References: 
 >How to avoid warning? (From: Dave <email@hidden>)
 >Re: How to avoid warning? (From: Steve Sisak <email@hidden>)
 >Re: How to avoid warning? (From: Dave <email@hidden>)
 >Re: How to avoid warning? (From: Keary Suska <email@hidden>)

  • Prev by Date: Re: How to avoid warning?
  • Next by Date: Re: How to avoid warning?
  • Previous by thread: Re: How to avoid warning?
  • Next by thread: Re: How to avoid warning?
  • Index(es):
    • Date
    • Thread