This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
webSocketTask.receive { result in | |
switch result { | |
case .failure(let error): | |
print("Error in receiving message: \(error)") | |
case .success(let message): | |
switch message { | |
case .string(let text): | |
print("Received string: \(text)") | |
case .data(let data): | |
print("Received data: \(data)") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func receiveMessage() { | |
webSocketTask.receive { result in | |
switch result { | |
case .failure(let error): | |
print("Error in receiving message: \(error)") | |
case .success(let message): | |
switch message { | |
case .string(let text): | |
print("Received string: \(text)") | |
case .data(let data): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func sendPing() { | |
webSocketTask.sendPing { (error) in | |
if let error = error { | |
print("Sending PING failed: \(error)") | |
} | |
DispatchQueue.main.asyncAfter(deadline: .now() + 10) { | |
self.sendPing() | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
webSocketTask.cancel(closeCode: .goingAway, reason: nil) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// connection disconnected | |
func urlSession(URLSession, webSocketTask: URLSessionWebSocketTask, | |
didCloseWith: URLSessionWebSocketTask.CloseCode, | |
reason: Data?) | |
// connection established | |
func urlSession(URLSession, webSocketTask: URLSessionWebSocketTask, didOpenWithProtocol: String?) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
public protocol Then {} | |
extension Then where Self: Any { | |
/// Makes it available to set properties with closures just after initializing and copying the value types. | |
/// | |
/// let frame = CGRect().with { | |
/// $0.origin.x = 10 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: Unlicense | |
pragma solidity ^0.8.0; | |
contract Accessibility { | |
uint public publicInt; | |
uint internal internalInt; | |
uint private privateInt; | |
uint externalInt; // for external function |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: Unlicensed | |
pragma solidity ^0.8.0; | |
contract DynamicSizeArray { | |
uint256[] _array; | |
function add(uint256 _value) external { | |
_array.push(_value); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: Unlicensed | |
pragma solidity ^0.8.0; | |
import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; | |
import "@openzeppelin/contracts/utils/Counters.sol"; | |
import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol"; | |
contract NFTTallinnTicket is ERC721URIStorage { | |
using Counters for Counters.Counter; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: Unlicense | |
pragma solidity ^0.8.0; | |
contract Mappings { | |
mapping(address => uint256) private luckyNumbers; | |
function getMyLuckyNumber() external view returns(uint256) { | |
require(luckyNumbers[msg.sender] != 0, "0 can't be lucky"); | |
return luckyNumbers[msg.sender]; |