我有一個UIScrollView的子類,它也是委託。NSSet touchesShouldBegin:UIScrollView只是一個NSString
當我有所謂的下一個協議的功能:
- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view
{
id element;
NSEnumerator *setEnum = [touches objectEnumerator];
while ((element = [setEnum nextObject]) != nil)
{
NSLog(@"element:%@", element);
}
return [super touchesShouldBegin:touches withEvent:event inContentView:view];
}
說的NSLog是顯示的唯一的事情是:
element:<UITouch: 0x15a9a0> phase: Ended tap count: 3 window: <UIWindow: 0x392390; frame = (0 0; 320 480); layer = <UIWindowLayer: 0x382cd0>> view: <UIButton: 0x3a5e90; frame = (0 0; 106 138); opaque = NO; layer = <CALayer: 0x3a3e90>> location in window: {228, 126} previous location in window: {227, 126} location in view: {89.6667, 77} previous location in view: {88.3333, 77}
的問題是,它顯示的NSSet的內容作爲一個大NSString的。如果我詢問objectEnumerator的所有對象,我只需要在NSArray中獲得一個對象。與NSLog完全相同的對象(NSString)正在顯示。
有人可以告訴我,如果我做錯了什麼,或者如果NSSet只是給一個NSString是不正常的。
謝謝!
我感到困惑,它確實看起來像一個字符串。將對象從[objectEnumerator nextObject]放置在UITouch變量中幫助!謝謝大家對於快速響應 – MiiChiel 2012-02-09 18:26:29