swift 학습의 폐쇄
클로즈업 기본 형식:
in의 의미는 인덱스 반환값과 실행 코드를 구분하고 파라미터가 없는 패키지 형식을 생략할 수 있습니다
{
() -> ()
in
//
}
패킷을 닫는 패킷 형식:
{
( : , : ) ->
in
//
}
“()”
Block과 클립의 대비:
Block 코드:
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSLog(@" :%@",[NSThread currentThread]);
NSLog(@" ");
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@" :%@",[NSThread currentThread]);
NSLog(@" UI");
});
});
swift의 클로즈업 코드:
dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
print(" ")
dispatch_async(dispatch_get_main_queue(), { () -> Void in
print(" UI")
})
}
클로즈업으로 하나의 작은 예를 실현하고 UIScrollerView에 약간의 UIview를 추가한 예로 중간에 두 개의 클로즈업을 실현하여 전참을 진행한다.
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// scrollView
let sv = creatScrollerView({ () -> Int in
// UIView
return 10
}) { (index) -> UIView in
// View
let btn = UIButton()
btn.setTitle(" \(index)", forState: UIControlState.Normal)
btn.frame = CGRect(x: 375*index, y: 0, width: 375, height: 444)
print(375*index);
btn.backgroundColor = UIColor(colorLiteralRed: Float(random()%10)/10.0, green: Float(random()%10)/10.0, blue: Float(random()%10)/10.0, alpha: 1)
return btn
}
// ScrollerView View
view.addSubview(sv)
}
//
func creatScrollerView(btncount:()->Int,btnSubView:(index:Int)->UIView) -> UIScrollView
{
let sv = UIScrollView(frame: CGRect(x: 0, y: 20, width: 375, height: 444))
sv.backgroundColor = UIColor(colorLiteralRed: 0.7, green:0.2, blue: 0.3, alpha: 1);
view.addSubview(sv);
let btnCount = btncount()// ,
var width:Float = 0.0;
for i in 0..
클립으로 간단한 예시를 실현하고 화면을 클릭하여 현재 인터페이스의 배경색을 변경합니다
import UIKit
class ViewController: UIViewController {
//
var finished:(()->())?
override func viewDidLoad() {
super.viewDidLoad()
// weak
weak var weakSelf = self;
//
loadTime { () -> () in
NSLog(" ");
//
weakSelf?.view.backgroundColor = UIColor(colorLiteralRed: Float(random()%10)/10.0, green: Float(random()%10)/10.0, blue: Float(random()%10)/10.0, alpha: 1)
}
}
//
func loadTime(finished:()->())
{
NSLog(" ");
self.finished = finished;
}
override func touchesBegan(touches: Set, withEvent event: UIEvent?) {
//
finished!()
}
}
ps:
위크 수식을 사용하여 폐쇄의 순환 인용 문제를 방지합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.