> On Jun 23, 2015, at 7:31 PM, Alex Zavatone <z...@mac.com> wrote:

> 
> 
> On Jun 23, 2015, at 9:27 PM, Kyle Sluder wrote:
> 
>>> On Jun 23, 2015, at 6:10 PM, Alex Zavatone <z...@mac.com> wrote:
>>> 
>>> Actually, the rotate event is the one that is being caught and sent.
>>> 
>>> If it's a UIEvent and it's listed as a UIInternalEvent, within the 
>>> debugger, how do I check the type and subtype to see what type of event it 
>>> is so that I can return immediately if it is the wrong type?
>> 
>> I don’t understand the question. Or rather, I understand the question, but I 
>> don’t understand why you are asking it.
> 
> Because an exception is thrown in that case and I'd prefer to return before 
> my app quits.

It’s your code that’s throwing the exception, right? Or are you saying that 
UIKit is throwing an exception if you ask for the .type of a UIEvent that it 
hands you, if that object just so happens to be an instance of a private 
subclass?

> 
>> There are three public types of event: Touches, Motion, and RemoteControl. 
>> Are you saying that UIInternalEvents are re-using one of these constants, 
>> and therefore you need an alternative way to disambiguate them? That’s 
>> definitely a problem and you should file a Radar.
> 
> I'm saying "I want to see which event it is and return if it is a motion 
> event".

Assuming the exception is being thrown by your code, stop doing that and just 
check the event’s .type. If it isn’t equal to Motion, skip it.

> 
>> 
>> If you just want to spelunk around the innards of a private UIEvent 
>> subclass, then no. We will not provide you information to do so.
>> 
>> Barring that, just do if (event.type==UIEventTypeMotion) { } else if 
>> (event.type==UIEventTypeTouches) { } …
> 
> Yeah, I tried that.  The event.type is returning -1 and isn't matching any of 
> the 3 UIEventType enum values.  It's not matching on any of them.

There is no guarantee that the event type will be a member of the public enum. 
Your code needs to be prepared for this case. A future OS might add a new event 
type. You don’t want your existing, shipping apps to blow up when the user 
upgrades their OS.

--Kyle Sluder

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to