iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
ma125125t
V2EX  ›  iDev

用 swift 写翻转字符串,结果。。。

  •  
  •   ma125125t · Aug 4, 2016 · 5636 views
    This topic created in 3601 days ago, the information mentioned may be changed or developed.

    length 属性没有, subString 方法体验很差,整了半天没弄明白 s.substringWithRange 里的变量是什么,怎么也初始化不出来。

    搜了下 so ,长度方法一个版本改了三次

    let str = "Hello" let count = str.length // returns 5 (Int)

    extension String { var length: Int { return countElements(self) } // Swift 1.1 } extension String { var length: Int { return count(self) } // Swift 1.2 } extension String { var length: Int { return characters.count } // Swift 2.0 }

    这让人怎么好好用 swift 呢

    16 replies    2016-08-05 06:57:54 +08:00
    Totato5749
        1
    Totato5749  
       Aug 4, 2016
    会不会变成讨论编程语言优劣的帖?
    loveuqian
        2
    loveuqian  
       Aug 4, 2016
    public var length: Int {
    return self.characters.count
    }
    PopeyeLau
        3
    PopeyeLau  
       Aug 4, 2016
    `let result = String(str.characters.reverse())`
    broccoli
        4
    broccoli  
       Aug 4, 2016   ❤️ 2
    String("abcdefg".characters.reverse())
    mofet
        5
    mofet  
       Aug 4, 2016
    Swift 略麻烦, Range 和 NSRange 不是一回事, String.Index 和 Int 也不能转换。不熟悉的话 as NSString 来处理。
    onevcat
        6
    onevcat  
       Aug 4, 2016
    Swift 翻转字符串?
    @broccoli 的就是正解...其他一律邪门歪道..
    ma125125t
        7
    ma125125t  
    OP
       Aug 4, 2016
    @onevcat 是的。。后来也用了这个方法,实测可行。一般的思路是遍历 append 嘛。。
    PrideChung
        8
    PrideChung  
       Aug 4, 2016
    Swift 里我最讨厌的 API 就是字符串处理,相当违反直觉
    dorentus
        9
    dorentus  
       Aug 4, 2016 via iPhone
    @PrideChung 除非只处理 ascii ,否则“直觉”就是错的…

    @ma125125t 想遍历的话,直接遍历 String.characters 不就好了。
    free9fw
        10
    free9fw  
       Aug 4, 2016
    swift 字符串说实话,比 OC 好用太多了,特别是在加密算法方面
    zhangyi2099
        11
    zhangyi2099  
       Aug 4, 2016 via iPhone
    swift 是门 pop 的语言
    EchoWhale
        12
    EchoWhale  
       Aug 4, 2016 via Android
    leetcode 上的字符串题目, swift 做不来
    tuimaochang
        13
    tuimaochang  
       Aug 4, 2016
    《 swift 从精通到入门》
    dtfm
        14
    dtfm  
       Aug 4, 2016 via Android
    每当这个时候,我就想起了 python 的切片大法
    PrideChung
        15
    PrideChung  
       Aug 5, 2016
    @dorentus 要处理可变长字符不需要把 API 设计得这么难用,参考 Ruby
    onevcat
        16
    onevcat  
       Aug 5, 2016 via iPhone   ❤️ 1
    @PrideChung 如果告诉你 Ruby 的字符串处理也是各种错误呢… Swift 应该是现在为数不多的在字符串上没有太大问题的语言了,当然前提是要真的搞明白各种 code point 到底意味着什么…
    最简单还是考察下变音符的处理, Swift 的 characters view 幕后帮你处理了很多你永远不会想做事情。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   863 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 19:41 · PVG 03:41 · LAX 12:41 · JFK 15:41
    ♥ Do have faith in what you're doing.