Well, that would make sense if I had asked for a mail:// URL, but I didn't.
On Dec 1, 2004, at 5:11 PM, Jeff Laing wrote:
I was thinking more of someone
passing back say NSMAILURLResponse where statusCode might contain SMTP
error codes?
(Not that I know there is such a
thing as NSMAILURLResponse, but it seems possible that in an infinite number
of futures where the infinite number of monkeys keep banging on the internet,
at least ONE of those futures might result in such a beast, or some other
protocol as yet unheard of)
-----Original Message-----
From: John Stiles [mailto:email@hidden]
Sent: Thursday, December 02, 2004 12:06 PM
To: Jeff Laing
Cc: email@hidden
Subject: Re: CodeWarrior and Objective-C warnings
I can test for that class, but I don't know... it seemed a little more
resilient to check if the object responds to the selector I want. OTOH, I
can't imagine that the definition of a status code for an HTTP request will
change in the future... that just seems a little too far-fetched to concern
myself with. 200 is OK, 404 is file not found, etc., now and forever :)
On Dec 1, 2004, at 5:02 PM, Jeff Laing wrote:
I think I'd be testing for that
class and casting, rather than testing that that message was processed.
After all, someone may introduce a different NSURLResponse subclass that
responds to that message in a different way, or at least in a way you weren't
expecting...
-----Original Message-----
From: John Stiles [mailto:email@hidden]
Sent: Thursday, December 02, 2004 11:56 AM
To: Jeff Laing
Cc: email@hidden
Subject: Re: CodeWarrior and Objective-C warnings
"statusCode" isn't mine, it's a NSHTTPURLResponse selector. The
NSURLResponse being sent to the callback is actually an NSHTTPURLResponse--at
least, that's the plan :)
On Dec 1, 2004, at 4:52 PM, Jeff Laing wrote:
My guess would be to make your
statusCode part of a formal protocol and then use an explicit cast once you
are sure that response implements the protocol.
Alternately, if you are going to use
respondsToSelector: to test viability, you could use performSelector: to
actually invoke it.
-----Original Message-----
From: John Stiles [mailto:email@hidden]
Sent: Thursday, December 02, 2004 11:43 AM
To: email@hidden
Subject: CodeWarrior and Objective-C warnings
I have code that looks like this
- (void)connection:(NSURLConnection *)connection
didReceiveResponse:(NSURLResponse *)response
{
if( [response
respondsToSelector:@selector(statusCode)] )
{
if( [response statusCode] == 200
)
{
// stuff
}
}
}
When I call [response statusCode] in the code above, CodeWarrior
warns that "receiver cannot handle this message." Obviously this was taken
care of on the previous line, but I can see how a compiler might not
understand this :) How can I placate the compiler and silence the warning
(other than disabling warnings)?