作者johnlinvc (阿翔)
看板MacDev
标题Re: [问题] 手势操控之问题
时间Wed Mar 11 20:56:55 2015
※ 引述《yavis (yavis)》之铭言:
: 小弟想问的是UISwipeGestureRecognizer的问题, 程式码张贴於网址
: http://pastebin.com/3R530cVD
: 我在viewdidload中建立了四个分别为上下左右的swipe手势,
: 四个方向的swipe却占用了15行之多 ..
: 随着添加的东西越来越多,
: 程式码变得越来越杂乱,
: 想请教前辈手势是否有较精简的写法呢,
: 还烦请多多指教, 谢谢
你的function 实在是太长了...
一般来说单一function/method 控制在20 行内会比较好(也有人只能接受5 行内)
http://pastebin.com/q9A1X9vm
可以看到下面关於swipe 的部分做完提取方法(Extract Method) 後只剩4+6 行
而且语意比原来的12 行清楚.
上面设定view 的部分也应该要如法炮制.
edit:
不知道你有没有用storyboard 或 xib 呢?
如果有的话,view init 的部分及Gesture 的部分都可以在interface builder 做.
没有的话,view init 的部分应该要在loadView里,而不是viewDidLoad 里
ps. pastebin 可以开syntax highlight
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.168.0.73
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1426078619.A.8B2.html
※ 编辑: johnlinvc (218.168.0.73), 03/11/2015 21:02:23
2F:→ yavis: 但是朋友推荐用程式码控制较好,所以我没有用storyboard 03/11 21:16
3F:→ yavis: 感谢前辈提供的写法, 让我又多学了一招 03/11 21:17
4F:推 fenir: 可以请教一下为什麽init部份要在loadView里比较好呢? 03/12 01:38
5F:→ yuanruo: 放loadView只是你在自定ViewController的view时 顺道init 03/12 02:04
6F:→ yuanruo: 了其他相关要加到view上的东西而已 时间点只差了一步 03/12 02:05
7F:→ yuanruo: 你不重载loadview,他也会调用默认的loadview返回空的view 03/12 02:07
8F:→ yuanruo: 至於memorywarning那些放viewdidload里一样也会被call到 03/12 02:08
9F:→ nobody1: 真好, 又学到新东西了 03/12 14:18