Swift3.0語言教程使用指標建立和初始化字串
Swift3.0語言教程使用指標建立和初始化字串
Swift3.0語言教程使用指標建立和初始化字串蘋果的Swift團隊花了不少功夫來支援C的一些基礎特性。C語言中為我們提供了指標,Swift也不例外,開發者可以使用指標去建立和初始化字串。
(1)在NSString中init(bytes:length:encoding:)方法可以從給定字串按照指定獲取方向,得到指定個數的字元,然後使用這些字元建立和初始化字串。其語法形式如下:
convenience init?(bytes: UnsafePointer<Void>, length len: Int, encoding: UInt)
其中,bytes用來指定一個常量指標,length用來從使用的位元組中指定位元組數,encoding用來指定應用在位元組中的字元編碼。
【示例1-9】以下將使用init(bytes:length:encoding:)方法建立和初始化字串。
import Foundation
var str=NSString(bytes: "Hello,World",length: 8,encoding: String.Encoding.utf8.rawValue)
print(str!)
執行結果如下:
Hello,Wo
(2)init(bytesNoCopy:length:encoding:freeWhenDone:)方法也是從給定字串按照給定獲取方向,得到指定個數的字元,透過這些字元建立和初始化字串,但是此方法需要對儲存器中資料的釋放進行設定。其語法形式如下:
convenience init?(bytesNoCopy bytes: UnsafeMutablePointer<Void>, length len: Int, encoding: UInt, freeWhenDone freeBuffer: Bool)
其中,引數說明如下:
q bytes:用來指定一個變數指標。
q len:用來用來從使用的位元組中指定位元組數。
q encoding:用來指定應用在位元組中的字元編碼。
q flag:用來對儲存器中資料的釋放進行設定。當設定為true時,可以將儲存器中不再使用的資料進行釋放,反之,不釋放。
【示例1-10】以下將使用init(bytesNoCopy:length:encoding:freeWhenDone:)方法建立和初始化字串。
import Foundation
var a=NSString(string: "Hello,World")
var b=a.utf8String!
var c:UnsafeMutablePointer<Void>=UnsafeMutablePointer<Void>(b)
var str=NSString(bytesNoCopy: c,length: 8,encoding: String.Encoding.utf8.rawValue,freeWhenDone: true)
print(str!)
執行結果如下:
Hello,Wo
(3)init(characters:length:)方法可以從一個C語言字串獲得指定個數的元素,透過這些元素對字串進行建立和初始化,其語法形式如下:
convenience init(characters: UnsafePointer<unichar>, length: Int)
其中,characters用來指定一個常量指標,length用來從使用的字元中指定字元個數。
【示例1-11】以下將使用init(characters:length:)方法建立和初始化字串。
import Foundation
let str1=NSString(string: "Hello")
let char:[unichar]=[str1.character(at: 0),str1.character(at: 1),str1.character(at: 2),str1.character(at: 3),str1.character(at: 4)]
var str2=NSString(characters: char,length: 3)
print(str2)
執行結果如下:
Hel
(4)init(charactersNoCopy:length:freeWhenDone:)方法也是從一個C語言字串獲得指定個數的元素,透過這些元素對字串進行建立和初始化,但是此方法需要對儲存器中資料的釋放進行設定。其語法形式如下:
convenience init(charactersNoCopy characters: UnsafeMutablePointer<unichar>, length: Int, freeWhenDone freeBuffer: Bool)
其中,引數說明如下:
q characters:用來指定一個變數指標。
q length:用來從使用的字元中指定字元個數。
q freeBuffer:用來對儲存器中資料的釋放進行設定。當設定為true時,可以將儲存器中不再使用的資料進行釋放,反之,不釋放。
【示例1-12】以下將使用init(charactersNoCopy:length:freeWhenDone:)方法建立和初始化字串。
import Foundation
let a=NSString(string: "Swift")
var b:[unichar]=[a.character(at: 0),a.character(at: 1),a.character(at: 2),a.character(at: 3),a.character(at: 4)]
var str=NSString(charactersNoCopy: &b,length: 3,freeWhenDone:true)
print(str)
執行結果如下:
Swi
(5)init(utf8String:)方法可以使用UTF8格式的字串建立和初始化一個字串,其語法形式如下:
convenience init?(utf8String nullTerminatedCString: UnsafePointer<Int8>)
其中,nullTerminatedCString用來指定一個常量指標。
【示例1-13】以下將使用init(utf8String:)方法建立和初始化字串。
import Foundation
var str=NSString(utf8String: "Swift")
print(str!)
執行結果如下:
Swift
(6)init(cString:encoding:)方法可以從一個C語言字串獲得元素,透過這些元素對字串進行建立和初始化,其語法形式如下:
convenience init?(cString nullTerminatedCString: UnsafePointer<Int8>, encoding: UInt)
其中,nullTerminatedCString用來指定一個常量指標,encoding是nullTerminatedCString的編碼。
【示例1-14】以下將使用init(cString:encoding:)方法建立和初始化字串。
import Foundation
var str=NSString(cString: "Hello",encoding: String.Encoding.utf8.rawValue)
print(str!)
執行結果如下:
Hello
Swift3.0語言教程使用指標建立和初始化字串
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2126799/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Swift3.0語言教程使用字串建立和初始化字串Swift字串
- Swift3.0語言教程使用編碼建立和初始化字串Swift字串
- Swift3.0語言教程使用佔位符格式建立和初始化字串Swift字串
- C語言指標(三):陣列指標和字串指標C語言指標陣列字串
- Swift3.0語言教程使用URL字串Swift字串
- Swift3.0語言教程使用路徑字串Swift字串
- C語言知識彙總 | 51-C語言字串指標(指向字串的指標)C語言字串指標
- Swift3.0語言教程組合字串Swift字串
- Swift3.0語言教程使用Unicode正規化標準化獲取字串SwiftUnicode字串
- C語言學習之:指標與字串C語言指標字串
- C語言指標5分鐘教程C語言指標
- C 語言指標 5 分鐘教程指標
- Swift3.0語言教程分割字串與擷取字串Swift字串
- C語言指標安全及指標使用問題C語言指標
- Swift3.0語言教程替換子字串Swift字串
- Swift3.0語言教程獲取C字串Swift字串
- Swift3.0語言教程查詢字符集和子字串Swift字串
- Go 語言指標符號 *和&Go指標符號
- Swift3.0語言教程獲取字串長度Swift字串
- Swift3.0語言教程比較、判斷字串Swift字串
- Swift3.0語言教程字串大小寫轉化Swift字串
- C語言(指標)C語言指標
- C語言指標C語言指標
- C語言:使用指標將兩段字串連線起來輸出C語言指標字串
- Swift中使用C語言的指標SwiftC語言指標
- Go語言什麼時候該使用指標 與 指標使用分析Go指標
- C語言 C語言野指標C語言指標
- C語言:利用指標檢查字串是否是迴文C語言指標字串
- C語言之字串與指標C語言字串指標
- C語言-指標操作C語言指標
- GO語言————4.9、指標Go指標
- C語言指標和陣列基礎C語言指標陣列
- C語言指標(二) 指標變數 ----by xhxhC語言指標變數
- Swift3.0語言教程字串轉換為數字值Swift字串
- go 語言指標學習Go指標
- c語言指標彙總C語言指標
- C語言指標學習C語言指標
- c語言指標詳解C語言指標