原创 【Swift Mac開發】純代碼創建NSViewController

  對於習慣了純代碼iOS開發的人來說,剛接觸Mac端開發時,是非常不友好的,網上所有的教程都是通過Xib或StoryBoard的方式創建NSViewController,而且蘋果文檔也是鼓勵用Xib的開發進行Mac 開發,但對於純代碼開發

原创 【Swift Mac開發】源代碼創建NSTableView(含自定義NSTableViewCellView)

  1、簡易的tableView //純代碼創建tableView,使用NSLayoutConstraint添加約束進行佈局 import Cocoa class JFSimpleTableViewController: NSViewC

原创 【Swift】TableView顯示多列數據,鎖定第一列位置

import Foundation import JXCategoryView class LQQuoteDetailCategoryController: UIViewController ,UIGestureRecognizerDel

原创 【Swift】 WKWebView https 加載不受信任的站點

     公司要對接一個第三方平臺,然後就有了一個可奇葩的邏輯,用戶填寫完相關信息後,點擊提交,然後服務器返回一個網頁的源代碼……需要用WebView加載這個網頁。 實現的時候發現,我自己寫的簡單的網頁源碼可以加載,但是服務器返回的就是

原创 【Swift】Starscream 實現socket連接

import UIKit import Starscream class ViewController: UIViewController,WebSocketDelegate { var socket: WebSocket!

原创 【Swift】GRDB數據庫本地存儲聊天記錄

   // // DataManager.swift // GRDBDemo // // Created by Apple on 2021/4/21. // import GRDB struct DataBaseName {

原创 【Swift/Objective-c】公司項目優化(二) - 下拉刷新抖動問題

  使用MJRefresh進行列表下拉刷新時,會出現列表上下顫抖問題   抖動的原因   我們先來看看在手鬆開之後我們對scrollView做了什麼事情:   ScrollViewDidEndDragging => setContentIn

原创 【Swift】拆分小說閱讀器功能,分享內部實現

  公司項目結束了,公司估計也快黃了,年底事少,也給了我不少時間來維護博客。   公司的項目是一個類似於簡書的創作平臺,涵蓋寫作、小說、插畫內容。   本期主要先下小說閱讀部分,UI樣式仿照的是微信讀書樣式,因之前也寫過小說閱讀器,但是代碼

原创 【Swift】公司項目性能優化(一)

  隨着項目開發接近了尾聲,改Bug和性能優化成了工作的重中之重,移動端開發,最注重用戶體驗,一個絲滑般的應用程序能在用戶心裏加很多印象分。   1、優化列表的滑動速度   作爲內容創作類的app,裏面包含了大量的寫作、畫作、小說、動態等多

原创 【Swift】APP版本檢查

import Alamofire class VersionCheck { public static let shared = VersionCheck() func isUpdateAvailable(callback:

原创 【iOS】蘋果登錄Sign in with Apple

  在iOS13中,如果蘋果開發者提供任何其他第三方登錄,就必須提供“蘋果登錄”選項。也就是說,如果軟件要求“微信登錄”或是“QQ登錄”時,必須同時提供“蘋果登錄”的選項給用戶自行選擇。根據蘋果公司最新公佈的指南,要求開發者在蘋果終端的應用

原创 【iOS】找工作的面試題集錦

    1. 你在開發過程中常用到哪些定時器,定時器時間會有誤差嗎,如果有,爲什麼會有誤差?   iOS中常NSTimer、CADisplayLink、GCD定時器,其中NSTimer、CADisplayLink基於NSRunLoop實現

原创 APP項目優化--啓動速度優化篇

  我們所開發的項目,隨着線上功能逐漸穩定,導致項目啓動速度越來越慢,而這又是用戶對我們的項目給第一印象,所以啓動速度變得尤爲重要,如果啓動速度緩慢,會造成比較嚴重的用戶流失,所以,對啓動速度的優化,將會成爲我們後期開發工作中不可或缺的一部

原创 【Swift】Timer定時器到底準不準確?

  在開發過程中,Timer可以說是比較常見的了,用來做一些定時性的操作。可實際過成功,Timer的時間真的準嗎?下面寫幾個代碼來做驗證。   1、Timer timer = Timer.scheduledTimer(timeInterv