2016-03-23 23:12:46 feng2qing 阅读数 1756

//动态获取命名空间(CFBundleExecutable这个键对应的值就是项目名称,也就是命名空间)

let nameSpace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String


//将字符串转化为类

//默认情况下,命名空间就是项目名称,但是命名空间是可以修改的

let cls:AnyClass? = NSClassFromString(nameSpace + "." + viewControllerName)


//通过类创建对象

//anyClass转换为指定的类型

let viewControllerCls = cls as! UIViewController.Type


//通过class创建对象

let vc = viewControllerCls.init()

2017-05-01 21:48:19 bwf_erg 阅读数 2080

Swift目前最新的版本是3.1,在熟悉最新的Swift版本,进行实际项目开发的过程中,遇到关于数据类型转换的问题,尤其是字符串与其他数据类型的转换。下面给大家总结一下,在Swift3.0中将字符串转换为其他数据类型的方法。

 、转换为整型: intValue ,  integerValue

 

1.字符串中只包含数字


2.字符串中包含数字和字符

var str=NSString(string: "100ab")

print(str.intValue);//100

3.字符串中只包含字符

ar str=NSString(string: "ab")

print(str.intValue);//0

4.空字符串

var str=NSString(string: "")

print(str.intValue);//0

 

二、转换为浮点型

1.字符串包含数字和字符

var str=NSString(string: "100ab")

print(str.floatValue);//100.0

2.空字符串

var str=NSString(string: "")

print(str.floatValue);//0.0

 

 

 

三、转换为布尔类型

1.字符串包含数字和字符

 

var str=NSString(string: "100ab")

print(str.boolValue);//true

2.空字符串

var str=NSString(string: "")

print(str.boolValue);//false

 

 

2019-08-22 10:35:13 dongdong_yan 阅读数 31

本文为OC开发者转swift时,遇到的各种小白问题,贻笑大方,仅为个人学习历程。

  • 字符串创建:

OC:NSString *str = @"";

swift:let str = ""

swift中,let为常量参数,str以此修饰,申请后不可修改值。如后续要修改,要用var。

  • 字符串替换:

 1、全部替换某个字符串

       OC:str = [str stringByReplacingOccurrencesOfString:@"-" withString:@"*"];

       swift:str = str.replacingOccurrences(of: "-", with: "*")

2、找到某个字符串最后出现的位置,并替换

      OC:

NSString *str = @"123-312-231";
NSRange range = [str rangeOfString:@"-" options:NSBackwardsSearch];
if (range.location != NSNotFound) {
    str = [str stringByReplacingCharactersInRange:range withString:@"*"];
}

       swift:

var str = "123-312-231"
let position = str.range(of: "-", options: .backwards, range: str.index(str.startIndex, offsetBy: 0)..<str.index(str.endIndex, offsetBy: 0), locale: nil)
if !(position?.isEmpty ?? true) {
    let pos = str.distance(from: str.startIndex, to: (position?.lowerBound)!)
    str = str.replacingOccurrences(of: "-", with: "*", options: .backwards, range: str.index(str.startIndex, offsetBy: pos)..<str.endIndex)
}
  • 字符串分割、拼接

       OC:

NSString *str = @"123-312-231";
NSArray *array = [str componentsSeparatedByString:@"-"];//@[@"123",@"312",@"231"]
str = [array componentsJoinedByString:@"*"];//@"123*312*231"
str = [str stringByAppendingString:@"##"];//@"123*312*231##"

       swift:

var str = "123-312-231"
let array:Array = str.components(separatedBy: "-")//@[@"123",@"312",@"231"]
str = array.joined(separator: "*")//"123*312*231"
  • 字符串截取

       OC:

NSString *subStr = [str substringWithRange:NSMakeRange(0, 4)];//@"123-"
subStr = [str substringFromIndex:4];//@"312-231"
subStr = [str substringToIndex:3];//@"123"

       swift:

var str = "123-312-231"
var subStr = str.prefix(4)//"123-"
subStr = str.suffix(4)//"-231"
subStr = str[str.index(str.startIndex, offsetBy: 2)..<str.index(str.startIndex, offsetBy: 5)]//"3-3"
  • 字符串删除、插入、添加

       OC:

NSMutableString *str = @"123-312-231".mutableCopy;
[str deleteCharactersInRange:NSMakeRange(3, 1)];//@"123312-231"
[str insertString:@"*" atIndex:3];//@"123*312-231"
[str appendString:@"##"];//@"123*312-231##"
[str appendFormat:@"%@",@"$$"];//@"123*312-231##$$"

       swift:

var str = "123-312-231"
str.remove(at: str.index(str.startIndex, offsetBy: 3))//"123312-231"
str.insert(contentsOf: "*", at: str.index(str.startIndex, offsetBy: 3))//"123*312-231"
str.append("##")//"123*312-231##"
str.append(contentsOf: "$$")//"123*312-231##$$"

 

2018-05-18 21:35:16 lxmgoodlucky 阅读数 215

1、所谓字符串就是一系列字符,需要用(英文的双引号"")  例如:"hello world"  "ABC"  "123"

在swift中字符串的关键字是String

2、字符就是常见的ABCDabcd等等都是字符

3、把字符串赋值给变量或者是常量:

var name:String = "Dava"  
let Id:String = "123456"
注意:其实这里是可以省略掉“String”的,因为swift中可以根据语境自动推动出类型!
var name = “Bob”

4、如果你需要很多字符串,并且需要隔行写,那么可以使用3个双引号:

var Talk = """
hello, Bob,whare are you going ?
hi,Dava ,i'm going to school!
"""

5、字符串可变性

在swift中,我们知道常量let是不可以变得,但是变量var是可以改变的

var a = "123"
a = 456 
print(a) //a此时的值为456

还可以实现字符串相加
var saing = "hello"
var action = "world"
saing += action
print(saing) //出现helloworld

6、使用for循环遍历字符串

for i in "HELLO"{
    print(i)
}
依次打印出"H" "E" "L" "L" "O"

7、字符串插值(也就是格式化字符串,使用“反斜杠\() ” ,比较重要)如下:

var a = "hello"
var b = "world"
var c = a+b
print("\(a)加上\(b)的值为\(c)")

8、字符串的统计

有时候我们需要知道有多少个字符,可以使用字符串中的 .count属性!

var b = "ABCDEFG"
print(b.count)
//结果为7个字符






swift 3 截取字符串

阅读数 562

没有更多推荐了,返回首页