万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Swift

    Swiftで最後の1文字

    hogeString.suffix(1) hogeString.last!はCharacter?になる

    RxSwiftでアニメーション

    @IBOutlet var mySwitch: UISwitch! で data.boolValue .distinctUntilChanged() .bind(to: mySwitch.rx.isOn) .disposed(by: disposeBag) これだとアニメーションにならない。 .bind(to: mySwitch.rx.isOn) を .subscribe(onNext : { bool in self.mySwitch…

    UIViewControllerを継承して独自initしたい

    https://stackoverflow.com/questions/25527311/swift-custom-viewcontroller-initializers

    LimitedWKWebView

    import WebKit final class LimitedWKWebView: WKWebView { // storyboard required init?(coder: NSCoder) { super.init(coder: coder) // 選択をさせない navigationDelegate = self self.scrollView.delegate = self // 平行のインジケーター出さない sel…

    Swift collection viewの仕組み

    future-architect.github.io

    混乱するBoolのoptional

    混乱するので struct Klass { var a: Bool? = nil var b: Bool? = nil } let klass: Klass? = Klass(a: false, b: nil) let hoge = 3 if klass?.a == false { print("aはfalse") } if hoge == 3 && klass?.a == false { print("aはfalse") } if klass?.b == …

    Swift Concurrencyのasync/await

    tech-blog.optim.co.jp Combineの非同期処理をSwift Concurrencyのasync/awaitで書き換えてみた - ZOZO TECH BLOG https://blog.personal-factory.com/2022/01/23/how-to-use-async-await-since-swift5_5/ WWDC https://developer.apple.com/videos/play/wwd…

    Swiftでヘッダーを

    https://freakycoder.com/ios-notes-13-how-to-change-status-bar-color-1431c185e845 Swiftでヘッダーを色変える

    Swiftの必須ではないProtocol(インターフェス)

    たまにプラグインで必須じゃないメソッドがあるProtocol(インターフェイス)みたいなのをたまに見る。 実装というか準拠先にインターフェイス ※プロトコルの場合は「継承する(させる)」ではなく「準拠する(させる)」 どうやるのか調べた。 https://stackove…

    Any.Type, AnyClass

    ez-net.jp Any.Type, AnyClassとかある。

    Swiftで型の配列を扱う

    Hoge みたいな型を配列として入れたい var nonScorllVCs: [Any.Type] = [Hoge.self] Swift の変数で型を扱う

    タップの優先順位を高める

    hogeRecognizer よりも他のtableViewの優先順位を高める const hogeRecognizer = UILongPressGestureRecognizer( target: self, action: #selector(self.hogeMethod) ) みたいな hogeRecognizer がある時 以下のようにする if let gestureRecognizers = tabl…

    RxSwift asObservable().subscribeと.asDriver().drive違い

    reactive programming - What is the difference between .subscribe and .drive - Stack Overflow xxx.rx.isOn.asObservable() .subscribe(onNext: { [weak self] bool in xxx.rx.isOn.asObservable() .subscribe を asObservable() なしで subscribe xxx.r…

    SwiftでDoubleの型の比較調査

    0 じゃないとだめなのか 0.0でやるか? as Doubleいるかどうか。 let a: Double = 0 if a == 0 { print("== 0") } else { print("== 0じゃない") } if a == 0 as Double { print("== 0 as Double") } else { print("== 0 as Doubleじゃない") } if a == 0.0 …

    awaitとasyncある時に投げっぱなしをswiftで

    https://stackoverflow.com/questions/67925525/async-call-in-a-function-that-does-not-support-concurrency-swift-ios-xcode-asy Task で囲むっぽい そうしないと await できないみたい。

    AppDelegate.swiftでURLから起動の時

    func application( _: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { for item in options.userActivities { if item.activityType == NSUserActivit…

    UIProgressBarの色の変更の注意点

    UIProgressBarの色の変更 一見、XcodeのbackgroundColorとtintColorを使うのと思ってしまうが それをやると微妙に色合いが変になる! こいつらは.clearとかにしておく。 https://developer.apple.com/documentation/uikit/uiprogressview 実際のゲージprogre…

    replacementの灰色背景をOFFにする

    Xcodeではできないが、 UITextfieldのplaceholderの色の変更は不可能と思われていたが TextFieldのattributedPlaceholderのパラメーターで可能 self.myTextField.attributedPlaceholder = NSAttributedString( string: "文字", attributes: [NSAttributedStr…

    cellのエラー

    must register a nib or a class for the identifier or connect a prototype cell in a storyboard 右から4番目の「Restoration ID」ではなく、右から3番目の「identifier」

    video保存

    video保存 neos21.net

    FieldValue.serverTimestamp()で入ったデータを変換

    nilなので let tmpTimeStamp: Timestamp? = data["date"] as? Timestamp if let timeStamp = tmpTimeStamp { date = timeStamp.dateValue() } else if let tmpDate = message.get("date", serverTimestampBehavior: .estimate) as? Timestamp { // FieldValu…

    マスクのグラデーション

    https://gist.github.com/FromAtom/f078bbe73301ec6a4e2e12a1b3ec62de 隠したいものの親ビュー作るのがミソ(対象はUICollectionViewでもOK)、上下を左右にするには // 左右にする gradient.startPoint = CGPoint(x: 0, y: 0.5) gradient.endPoint = CGPoin…

    Safariで拡張するAction Extension

    kt-zoe.com shibuya-3percent.hatenablog.com

    バックしたときに1つ前のタブバーを非表示

    まずUIViewControllerで拡張変数作成 addedBool public extension UIViewController { private struct additional { static var addedBool: Bool = false } var addedBool: Bool { get { guard let theBool = objc_getAssociatedObject(self, &additional.ad…

    拡張クラスに保存

    UIViewControllerを拡張して、StringやBoolが保存できる vc.addedString = "Str" vc.addedBool = true public extension UIViewController { private struct additional { static var addedString: String = "" static var addedBool: Bool = false // TODO:…

    setNavigationBarHidden

    https://stackoverflow.com/questions/35766425/hide-navigation-bar-after-dismiss-controller https://www.codegrepper.com/code-examples/swift/how+to+remove+the+nav+bar+from+navigation+controller+in+swift

    Swiftの日付の注意

    let calendar = Calendar.current これは年を使うときに危ない危険 ↓このiPhone設定が仏暦とか和暦だとやばい。 iphone-howto.jp dev.classmethod.jp let calendar = Calendar(identifier: .gregorian) かならずgregorian を使うこと。

    Combineの本たち

    Combine: Asynchronous Programming with Swift (First Edition) Combine: Asynchronous Programming with Swift (First Edition)作者:Tutorial Team, raywenderlich,Gardner, Scott,Mishali, Shai,Pillet, Florent,Todorov, Marin発売日: 2019/12/05メディ…

    SwiftのDomain: IXErrorDomain

    Details Failed to set plugin placeholders for com.shinriyo.taskmaster Domain: IXErrorDomain Code: 2 Failure Reason: Failed to create promise. User Info: { FunctionName = "+[IXPlaceholder _placeholderForBundle:client:withParent:installType:…

    Swiftの通知からのタップ

    https://hacknote.jp/archives/13726/ UIApplication.shared.applicationState == .backgroundはバックグラウンド