iOS开发中遇到的问题

一.对NSNumber类型调用length方法导致的崩溃

@implementation NSNumber (SafeString)

- (id)forwardingTargetForSelector:(SEL)aSelector {
    if ([NSString instancesRespondToSelector:aSelector]) {
        //number类型的特别容易用字符串来接,所以特别容易崩,批处理。
        return self.stringValue;
    }
    return nil;
}

@end

二.项目开发中使用UITextView,初始化时耗时比较长,尤其是在iOS8上

使用YYTextView替代,但是开启点击其它区域收回键盘时,点击YYTextView的编辑区域,键盘也收回。查看源码,可以通过如下方式处理

- (void)registerYYTextView{
//  接受编辑事件,注意编辑状态改变导致的键盘的弹出与收起
    IQKeyboardManager *keyBoardManager = [IQKeyboardManager sharedManager];
    [keyBoardManager registerTextFieldViewClass:[YYTextView class] didBeginEditingNotificationName:YYTextViewTextDidBeginEditingNotification didEndEditingNotificationName:YYTextViewTextDidEndEditingNotification];
//  处理键盘收回
    [keyBoardManager.touchResignedGestureIgnoreClasses addObject:[YYTextContainerView class]];
    [keyBoardManager.touchResignedGestureIgnoreClasses addObject:[YYTextView class]];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容