给 UITextView 添加 placeHolder 的一个 Category

2014-08-08 17:45:37 +08:00
 androidBrant
https://github.com/chinabrant/UITextView-PlaceHolder-Category

没有完善delegate的传递
3755 次点击
所在节点    程序员
7 条回复
black
2014-08-08 18:02:10 +08:00
把delegate指向了自己,不太好吧
androidBrant
2014-08-08 18:10:14 +08:00
@black assign的,我又没有引用他,不会内存泄漏啊
railgun
2014-08-08 18:15:17 +08:00
问题是真正想用这个协议的人就用不了了啊
改用通知吧
black
2014-08-08 18:20:40 +08:00
@railgun +1,我想说的就是这个,不过楼主也说了现在还没有完善delegate的传递,楼主加油~
zhigang1992
2014-08-08 19:18:56 +08:00
用通知,
UIKIT_EXTERN NSString * const UITextViewTextDidBeginEditingNotification;
UIKIT_EXTERN NSString * const UITextViewTextDidChangeNotification;
UIKIT_EXTERN NSString * const UITextViewTextDidEndEditingNotification;
但是问题是不能在Category中很方便的override dealloc来取消通知~~~

http://www.merowing.info/2012/03/automatic-removal-of-nsnotificationcenter-or-kvo-observers/#.U-Sx64CSxhY

just my two cents
zhigang1992
2014-08-08 19:23:40 +08:00
或者:
把setDelegate方法重写了,把值写到一个runTime的property里面~
然后在category里面用setValueForKeyPath来设置delegate。
最后在所有的method里面调对应property的method
hoogle
2014-08-09 02:20:29 +08:00
这个功能的实现 考虑用继承比Category合适。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX