Code Monkey home page Code Monkey logo

bmchinesesort's People

Contributors

baymax0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bmchinesesort's Issues

字符连续空格崩溃

奔溃位置:254行,数组越界( [result appendString:[letter substringToIndex:1]];)
解决方法:NSRange urgentRange = [str rangeOfCharacterFromSet: [NSCharacterSet characterSetWithCharactersInString: @",.?、¥#&<>《》()[]{}【】^@/£¤|§¨「」『』¢¬ ̄@#&*()——+|《》$_€"]];里面新增一个空格字符

Semaphore object deallocated while in use Abort Cause 1 报错

谷歌了下,
` semaphore = dispatch_semaphore_create(1);

//异步执行
dispatch_async(dispatch_get_global_queue(0, 0), ^{
    //将数据 转换为 BMChineseSortModel
    NSMutableArray *sortModelArray = [NSMutableArray arrayWithCapacity:0];
    [objectArray enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        BMChineseSortModel *model = [self getModelWithObj:obj key:key];
        if (model) {
            //对 数组的插入操作 上锁
            dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
                [sortModelArray addObject:model];
            dispatch_semaphore_signal(semaphore);
        }
    }];`

系统判断sema是否被使用的标志为sema被销毁时的值是否与初始化的值相同

拼音常量分离

刚才提交了一个commit,楼主看下。刚开始下载的时候打开一看我就被吓到了,那个字符数组的长度比代码都多,常量是不应该这样放的,不太好。我把常量单独分离出来弄了一个单独的常量头文件,你看下

当姓名为特殊字符会发生崩溃

当姓名为“#”或者“?”等特殊字符时会崩溃在 NSString *pinyin = [str substringToIndex:1];这一句,原因是ReturnSortObjectArrar方法返回特殊字符时chineseString.pinYin = @""导致crash,改成chineseString.pinYin = @"#";解决问题

同一拼音首字母时顺序错乱

比如:
1.李某、刘某(这是正常顺序)。现在排出来的结果是刘某、李某。
2.韩某、韩某某、贺某(这是正常顺序)。现在排出来的结果是韩某、贺某、韩某某。

将BMCHineseSort添加进项目后,编译报错

环境:xcode9 iOS 11
我下载你的demo,运行没有问题.
吧BMChineseSort文件拖入我的项目, import 也没问题, 写好代码运行时却报错,在Stack Overflow上找了好几个类似问题的解决方法,都没有成功.

Undefined symbols for architecture arm64:
"OBJC_CLASS$_BMChineseSort", referenced from:
objc-class-ref in AddressListViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

模式1和2一样

  • (NSString *)getFirstLetter:(NSString *)chinese{
    //mode = 1
    if (BMSortMode==1) {
    return [self getFirstLetter1:chinese];
    }
    //mode = 2
    else{
    return [self getFirstLetter1:chinese];(应该是getFirstLetter2)
    }
    }

能把同“姓”的放在一起吗

BMChineseSort是个很高效的库

但是对于通讯录这块
产品要求同姓的放在一起

“张a”、“赵b”、“张c”、“赵e”、“赵a”
BMChineseSort排序为: “张a”、“赵b”、“张c”、“赵e”
实际要求为: “张a”、“张c”、“赵a”、“赵b”、“赵e”

License?

Hello,
Do you have a license for your software, such as the MIT License, or BSD License?
Thank you,

你好,
您是否拥有软件许可证,例如MIT许可证或BSD许可证?
谢谢,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.