Skip to content

Instantly share code, notes, and snippets.

View arkilis's full-sized avatar
🎯
Focusing

Ben arkilis

🎯
Focusing
View GitHub Profile
/*
For explanation please go to the post: https://needone.app/compiler-directives-in-swift/
*/
// Environment Checking
var url = ""
#if DEBUG
// use localhost while under debug mode
url = "https://localhost"
#else
@arkilis
arkilis / coroutines_launch_main.kt
Last active January 18, 2023 05:42
Use launch to create coroutines in Kotlin. Full article: https://needone.app/introduction-to-coroutine-in-kotlin/
// Use launch to create coroutines
// https://needone.app/introduction-to-coroutine-in-kotlin/
import kotlinx.coroutines.*
fun main() {
// Start a coroutine using the launch function
val job = GlobalScope.launch {
// Perform a long-running task in the background
using System.Collections.Generic;
// example of string key and value is string
Dictionary<string, string> openWith = new Dictionary<string, string>();
// example of int key and value is a list
Dictionary<int, string[]> OtherType = new Dictionary<int, string[]>();
@interface ViewController ()
@property (nonatomic) float value;
@end
@implementation ViewController
- (float)value {
class MyClass {
lazy var names: NSArray = {
let names = NSArray()
print("Only run at the first time access")
return names
}()
}
// action with generic type
Action<Book> printBookTitle = delegate(Book book)
{
Console.WriteLine(book.Title);
};
printBookTitle(book);
// action without generic type
Action printLog = delegate {
struct PurchaseButtonView_Previews: PreviewProvider {
static var previews: some View {
VStack {
PurchaseButtonView(title: "Buy") {
print("Buy button clicked")
}.padding()
PurchaseButtonView(title: "Sell") {
print("Buy button clicked")
}.padding()
}
@arkilis
arkilis / preview_iphone.swift
Created December 19, 2020 21:28
preview on iphone
import SwiftUI
struct PurchaseButtonView: View {
var title: String
var callback: () -> Void
var body: some View {
Button(
action: { self.callback() },
label: {
disabled_rules: # rules you don't want to use
- trailing_comma
opt_in_rules: # rules you want to use
- array_init
- closure_body_length
- closure_end_indentation
included: # include directories
- Source
#!/bin/bash
set -e
git diff --diff-filter=d --staged --name-only | grep -e '\(.*\).swift$' | while read line; do
swiftformat "${line}";
git add "$line";
done
swiftlint --quiet --strict