둘.Swift.를 처음 알게 되었습니다.우리 프로그램 날아오르게~ (문자열, 수조, 사전)
하나.Swift.를 처음 알게 되었습니다.우리 프로그램 날아오르게 (기초문법) 다들 swift에 대해 조금은 알고 있지 않나요?
## `??`
* `??` ` / ` `nil`,
* Swift ,`??`
swift
let num: Int? = nil
let r1 = (num ?? 0) + 10
print(r1)
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// var nil
// let ,
let oName: String? // = " "
// , , ,
oName = " "
//
// oName = " xx"
if oName != nil {
print(oName! + " !")
}
// ?? , nil, nil,
print((oName ?? "") + " !")
print("-------")
// ?? ` `
print(oName ?? "" + " !")
}
}
NSString은 OC 객체로서 성능이 약간 떨어지는 Swift는 String과 NSString 사이의 원활한 전환을 제공한다
import UIKit
class ViewController: UIViewController {
/**
Swift String
OC NSString
NSObject
NSString
*/
override func viewDidLoad() {
super.viewDidLoad()
demo5()
}
// , : Swift String , NSString
func demo5() {
let str = "hello world"
let s1 = (str as NSString).substringWithRange(NSMakeRange(2, 5))
print(s1)
// --- -- ,Swift ,
let s2 = str.substringFromIndex("1234".endIndex)
print(s2)
// ..<
// advancedBy , ,
let startIndex = str.startIndex.advancedBy(2) // 0
let endIndex = str.endIndex.advancedBy(-2) // 11
let range = startIndex..
집합수 그룹 수조는 [] 정의를 사용하는데 이 점은 OC와 같다
//: [Int]let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
두루
for num in numbers { print(num)}
아래 첨자로 지정한 항목 가져오기
let num1 = numbers[0]let num2 = numbers[1]
가변 & 불가변let 정의 불가변수 그룹 var 정의 불가변수 그룹
let array = ["zhangsan", "lisi"]//: //array.append("wangwu")var array1 = ["zhangsan", "lisi"]//: array1.append("wangwu")
배열의 유형이 초기화되면 모든 컨텐트 유형이 일치하고, 배열에 저장된 컨텐트는 초기화되면 모든 컨텐트 유형이 일치하지 않으며, 배열에 저장된 컨텐트는 NSObject입니다.
//: array1 String //array1.append(18)var array2 = ["zhangsan", 18]//: Swift , , `NSNumber`array2.append(100)//: Swift , , `NSValue`array2.append(NSValue(CGPoint: CGPoint(x: 10, y: 10)))
그룹의 정의와 실례화 사용: 그룹의 형식만 정의할 수 있습니다. 실례화하기 전에 값을 추가하는 것을 허용하지 않습니다. 형식은 빈 그룹을 실례화할 수 있습니다.
var array3: [String]//: //array3.append("laowang")//: array3 = [String]()array3.append("laowang")
수조의 합병은 반드시 같은 유형의 수조가 있어야만 합병 개발 중일 수 있으며, 통상적으로 수조에 저장된 대상 유형은 모두 같다!
array3 += array1//: , //array3 += array2//array2 += array3
배열 삭제
//: array3.removeAtIndex(3)//: array3.removeAll()
메모리 할당 배열에 요소를 추가하여 용량을 초과하면 기존 용량에서 직접 * 2
var list = [Int]()for i in 0...16 { list.append(i) print(" \(i) \(list.capacity)")}
사전 정의도 마찬가지로 [] 정의 사전을 사용합니다 let 불변 사전 var 가변 사전 [string: NSObject]은 가장 자주 사용하는 사전 형식입니다
//: [String : NSObject] var dict = ["name": "zhangsan", "age": 18]
값 부여 값은 dict[key] =value 형식을 직접 사용합니다 키가 존재하지 않으면 새 값을 설정합니다 키가 존재하면 기존 값을 덮어씁니다
//: * key , dict["title"] = "boss"//: * key , dict["name"] = "lisi"dict
k, v 를 누비면 앞 의 키 를 마음대로 쓸 수 있다
뒤에 있는 것은value입니다
//: for (k, v) in dict { print("\(k) ~~~ \(v)")}
병합 사전이 키가 존재하지 않으면 새 값을 만들 것입니다. 그렇지 않으면 기존 값을 덮어씁니다
//: var dict1 = [String: NSObject]()dict1["nickname"] = " "dict1["age"] = 100//: key , , for (k, v) in dict1 { dict[k] = v}print(dict)
iOS 기술 성장군: 255032637 원하는 파트너가 있으면 장기적으로 공부하고 격려할 수 있습니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.