一.對(duì)NSNumber類型調(diào)用length方法導(dǎo)致的崩潰
@implementation NSNumber (SafeString)
- (id)forwardingTargetForSelector:(SEL)aSelector {
if ([NSString instancesRespondToSelector:aSelector]) {
//number類型的特別容易用字符串來接,所以特別容易崩,批處理。
return self.stringValue;
}
return nil;
}
@end
二.項(xiàng)目開發(fā)中使用UITextView,初始化時(shí)耗時(shí)比較長(zhǎng),尤其是在iOS8上
使用YYTextView替代,但是開啟點(diǎn)擊其它區(qū)域收回鍵盤時(shí),點(diǎn)擊YYTextView的編輯區(qū)域,鍵盤也收回。查看源碼,可以通過如下方式處理
- (void)registerYYTextView{
// 接受編輯事件,注意編輯狀態(tài)改變導(dǎo)致的鍵盤的彈出與收起
IQKeyboardManager *keyBoardManager = [IQKeyboardManager sharedManager];
[keyBoardManager registerTextFieldViewClass:[YYTextView class] didBeginEditingNotificationName:YYTextViewTextDidBeginEditingNotification didEndEditingNotificationName:YYTextViewTextDidEndEditingNotification];
// 處理鍵盤收回
[keyBoardManager.touchResignedGestureIgnoreClasses addObject:[YYTextContainerView class]];
[keyBoardManager.touchResignedGestureIgnoreClasses addObject:[YYTextView class]];
}