Дисклеймер: речь идёт об однопоточном коде, оставим ужасы параллельного исполнения за скобками. Также не рассматривается возможность overrelease.
Объект точно не ритейнится на время выполнения его метода, пруфы:
| name: Example iOS Build | |
| on: | |
| push: | |
| branches: | |
| - development | |
| jobs: | |
| build-ios: | |
| runs-on: macos-latest |
| /** | |
| * MacEditorTextView | |
| * Copyright (c) Thiago Holanda 2020-2025 | |
| * https://bsky.app/profile/tholanda.com | |
| * | |
| * (the twitter account is now deleted, please, do not try to reach me there) | |
| * https://twitter.com/tholanda | |
| * | |
| * MIT license |
Дисклеймер: речь идёт об однопоточном коде, оставим ужасы параллельного исполнения за скобками. Также не рассматривается возможность overrelease.
Объект точно не ритейнится на время выполнения его метода, пруфы:
| // | |
| // Created by はるふ on 2017/12/11. | |
| // Copyright © 2017年 ha1f. All rights reserved. | |
| // | |
| import Foundation | |
| import CoreImage | |
| import AVFoundation | |
| extension CIFilter { |
| // The issue with sectionHeadersPinToVisibleBounds and sectionFootersPinToVisibleBounds is that they do not pin | |
| // first header and last footer when bouncing. This layout subclass fixes that. | |
| class StickyLayout: UICollectionViewFlowLayout { | |
| override init() { | |
| super.init() | |
| self.sectionFootersPinToVisibleBounds = true | |
| self.sectionHeadersPinToVisibleBounds = true | |
| } |
| class Number /* class cluser */ { | |
| class Int8: Number { | |
| var value: Swift.Int8 | |
| init(_ value: Swift.Int8) { self.value = value } | |
| } | |
| class Int: Number { | |
| var value: Swift.Int | |
| init(_ value: Swift.Int) { self.value = value } | |
| } |
| open class LinearScale { | |
| var domain: [CGFloat] | |
| var range: [CGFloat] | |
| public init(domain: [CGFloat] = [0, 1], range: [CGFloat] = [0, 1]) { | |
| self.domain = domain | |
| self.range = range | |
| } | |
| // Since the WKWebView has no sizeToFit() method, increase the frame height of the webView to | |
| // match the height of the content's scrollHeight | |
| // | |
| // The WKWebView's `navigationDelegate` property needs to be set for the delegate method to be called | |
| func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { | |
| if webView.isLoading == false { | |
| webView.evaluateJavaScript("document.body.scrollHeight", completionHandler: { [weak self] (result, error) in | |
| if let height = result as? CGFloat { |
| // MARK: - Adding a header to a single request | |
| func doRequestWithHeaders1() { | |
| let headers: HTTPHeaders = [ | |
| "X-Mashape-Key": MY_API_KEY, | |
| "Accept": "application/json" | |
| ] | |
| Alamofire.request("https://mashape-community-urban-dictionary.p.mashape.com/define?term=smh", headers: headers) | |
| .responseJSON { response in | |
| debugPrint(response) |