mirror of
https://github.com/neon443/StickerSlack.git
synced 2026-03-11 13:26:17 +00:00
better performance in stickerbroswer
Emoji.sticker can return nil added tests to measure .sticker perfomance delete redundant stickerbrowserviewcontroller
This commit is contained in:
@@ -30,6 +30,7 @@ class MessagesViewController: MSMessagesAppViewController {
|
||||
let stickerBrowser = MSStickerBrowserView(frame: .zero, stickerSize: .regular)
|
||||
stickerBrowser.frame = CGRect(x: 60, y: 20, width: 200, height: 600)
|
||||
stickerBrowser.dataSource = dataSource
|
||||
stickerBrowser.autoresizingMask = [.flexibleWidth]
|
||||
view.addSubview(stickerBrowser)
|
||||
stickerBrowser.reloadData()
|
||||
view.bringSubviewToFront(stickerBrowser)
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
//
|
||||
// StickerBroswerViewController.swift
|
||||
// StickerSlackiMessageExtension
|
||||
//
|
||||
// Created by neon443 on 29/10/2025.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
import Messages
|
||||
|
||||
class StickerBroswerViewController: MSStickerBrowserViewController {
|
||||
var hoarder: EmojiHoarder = EmojiHoarder()
|
||||
|
||||
var emojis: [Emoji] = []
|
||||
|
||||
override func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int {
|
||||
emojis = hoarder.emojis.filter { $0.isLocal }
|
||||
return emojis.count
|
||||
}
|
||||
|
||||
override func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView, stickerAt index: Int) -> MSSticker {
|
||||
return emojis[index].sticker
|
||||
}
|
||||
}
|
||||
@@ -11,11 +11,17 @@ import Messages
|
||||
class StickerBrowserDataSource: NSObject, MSStickerBrowserViewDataSource {
|
||||
var hoarder: EmojiHoarder = EmojiHoarder()
|
||||
|
||||
var emojis: [MSSticker] = []
|
||||
|
||||
func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int {
|
||||
return hoarder.emojis.filter { $0.isLocal }.count
|
||||
for emoji in hoarder.emojis {
|
||||
guard let sticker = emoji.sticker else { continue }
|
||||
emojis.append(sticker)
|
||||
}
|
||||
return emojis.count
|
||||
}
|
||||
|
||||
func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView, stickerAt index: Int) -> MSSticker {
|
||||
return hoarder.emojis.filter { $0.isLocal }[index].sticker
|
||||
return emojis[index]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user