[iOS] Swift3의 변화
// Swift 2 , Swift 3
"mystring".writeToFile("filename.txt", atomically: true, encoding: NSUTF8StringEncoding)
"mystring".write(toFile: "filename.txt", atomically: true, encoding:NSUTF8StringEncoding)
UIFont.preferredFontForTextStyle(UIFontTextStyleSubheadline)
UIFont.preferredFont(forTextStyle: UIFontTextStyleSubheadline)
override func numberOfSectionsInTableView(tableView: UITableView) -> Int
override func numberOfSections(in tableView: UITableView) -> Int
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?
func viewForZooming(in scrollView: UIScrollView) -> UIView?
NSTimer.scheduledTimerWithTimeInterval(0.35, target: self, selector: #selector(reset), userInfo: nil, repeats: true)
Timer.scheduledTimer(timeInterval: 0.35, target: self, selector: #selector(reset), userInfo: nil, repeats: true)
swift2와 swift3 문법 변화
// Swift 2 , Swift 3
let blue = UIColor.blueColor()
let blue = UIColor.blue()
let min = numbers.minElement()
let min = numbers.min()
attributedString.appendAttributedString(anotherString)
attributedString.append(anotherString)
names.insert("Jane", atIndex: 0)
names.insert("Jane", at: 0)
UIDevice.currentDevice()
UIDevice.current()
GCD 쓰기 변화
// Swift 2
let queue = dispatch_queue_create("com.test.myqueue", nil)
dispatch_async(queue) {
print("Hello World")
}
// Swift 3
let queue = DispatchQueue(label: "com.test.myqueue")
queue.async {
print("Hello World")
}
Core Graphics 쓰기 변화
// Swift 2
let ctx = UIGraphicsGetCurrentContext()
let rectangle = CGRect(x: 0, y: 0, width: 512, height: 512)
CGContextSetFillColorWithColor(ctx, UIColor.blueColor().CGColor)
CGContextSetStrokeColorWithColor(ctx, UIColor.whiteColor().CGColor)
CGContextSetLineWidth(ctx, 10)
CGContextAddRect(ctx, rectangle)
CGContextDrawPath(ctx, .FillStroke)
UIGraphicsEndImageContext()
// Swift 3
if let ctx = UIGraphicsGetCurrentContext() {
let rectangle = CGRect(x: 0, y: 0, width: 512, height: 512)
ctx.setFillColor(UIColor.blue().cgColor)
ctx.setStrokeColor(UIColor.white().cgColor)
ctx.setLineWidth(10)
ctx.addRect(rectangle)
ctx.drawPath(using: .fillStroke)
UIGraphicsEndImageContext()
}
매거 매거 중case값의 대소문자: 매거에 정의된case값은 현재 작은 낙타봉 명명법을 사용합니다.이것은 속성 이름이나 변수 이름과 일치하도록 하기 위해서입니다.
// Swift 2 , Swift 3
UIInterfaceOrientationMask.Landscape
UIInterfaceOrientationMask.landscape
NSTextAlignment.Right
NSTextAlignment.right
SKBlendMode.Multiply
SKBlendMode.multiply
만약 이 방법 이름에'ed'또는'ing'접두사가 포함되어 있다면, 이것은 명사라는 것을 나타낸다.방법명이 명사인 방법에는 반환값이 있다.만약 이 접두사를 포함하지 않는다면, 이것은 동사일 가능성이 높다.동사를 명명하는 방법은 어떤 블록이 인용한 메모리에 대해 약간의 조작을 할 것이다.즉, 값 수정이라고 합니다.
customArray.enumerate() // .
customArray.enumerated() // , .
customArray.reverse()
customArray.reversed()
customArray.sort() // changed from .sortInPlace()
customArray.sorted()
함수 매개 변수 함수는 성명과 호출을 할 때, 매개 변수를 괄호로 묶어야 한다.
func f(a: Int) {}
// Swift 2
Int -> Float
String -> Int
T -> U
Int -> Float -> String
// Swift 3
(Int) -> Float
(String) -> Int
(T) -> U
(Int) -> (Float) -> String
클래스 NS 접두사
var url1:NSURL
var url2:URL
var data1:NSData
var data2:Data
다른 변경 클래스 방법은 클래스 방법이나 클래스 속성을 사용할 때 반드시 이렇게 해야 합니다: Custom Struct.staticMethod () 는 이제 이전 쓰기 대신 이니셜 대문자 Self 를 사용할 수 있으며 유형의 인스턴스로 정적 방법이나 속성을 호출할 수 있습니다.
struct CustomStruct {
static func staticMethod() { ... }
func instanceMethod()
Self.staticMethod() // in the body of the type
}
}
let customStruct = CustomStruct()
customStruct.Self.staticMethod() // on an instance of the type
C 컨셉의 For 사이클을 없애도록 하겠습니다.
for(var i = 0; i < 10; i++)
콜리화 문법을 뺐어요. 이 문법은 이해하기 어려워서 뺐어요.
++ –
Swift Package Manager Swift 언어 자체 패키지 관리 도구입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.