Skip to content

Instantly share code, notes, and snippets.

View thepearl's full-sized avatar
💭
I may be slow to respond.

Ghazi Tozri thepearl

💭
I may be slow to respond.
View GitHub Profile
[
{
"id" : 1,
"name_ar": "أريانة",
"name_fr" : "Ariana"
},
{
"id" : 2,
"name_ar": "باجة",
"name_fr" : "Béja"
import SwiftUIstruct
LottieView: UIViewRepresentable{}
@thepearl
thepearl / MainView.swift
Last active January 10, 2021 20:53
MainView init
import UIKit
import Combine
class MainView: UIViewController
{
@IBOutlet weak var searchBar: UISearchBar!
@IBOutlet weak var tableView: UITableView!
@thepearl
thepearl / Model.swift
Last active January 14, 2021 15:11
IMDB API response
// MARK: - Response
struct Response: Decodable, Hashable {
let searchType, expression: String?
let results: [Result]?
let errorMessage: String?
}
// MARK: - Result
@thepearl
thepearl / HashFunc.swift
Created January 14, 2021 15:08
Hash function
func hash(into hasher: inout Hasher) {
hasher.combine(id)
}
public static func == (lhs: Result, rhs: Result) -> Bool {
return lhs.id == rhs.id
}
@thepearl
thepearl / MovieCell.swift
Last active January 14, 2021 15:59
Movie cell definition
import UIKit
import SDWebImage
class MovieCell: UITableViewCell
{
@IBOutlet weak var movieImageView: UIImageView!
@IBOutlet weak var movieNameLabel: UILabel!
@IBOutlet weak var movieDetailsLabel: UILabel!
@thepearl
thepearl / MainView.swift
Created January 14, 2021 16:09
Defining MoviesTableViewDiffableDataSource
import UIKit
import Combine
class MoviesTableViewDiffableDataSource: UITableViewDiffableDataSource<String?, Result> {}
class MainView: UIViewController
{
@IBOutlet weak var searchBar: UISearchBar!
@IBOutlet weak var tableView: UITableView!
@thepearl
thepearl / MainView.swift
Created January 14, 2021 16:32
Implementing @published to UISearchBar Delegate
import UIKit
import Combine
class MoviesTableViewDiffableDataSource: UITableViewDiffableDataSource<String?, Result> {}
class MainView: UIViewController
{
@IBOutlet weak var searchBar: UISearchBar!
@IBOutlet weak var tableView: UITableView!
@thepearl
thepearl / MainView.swift
Last active January 14, 2021 16:52
setting up observers
import UIKit
import Combine
class MoviesTableViewDiffableDataSource: UITableViewDiffableDataSource<String?, Result> {}
class MainView: UIViewController
{
var cancellables: Set<AnyCancellable> = []
@IBOutlet weak var searchBar: UISearchBar!
@thepearl
thepearl / ViewModel.swift
Last active January 14, 2021 17:12
ViewModel init
import UIKit
import Combine
class ViewModel
{
var cancellables: Set<AnyCancellable> = []
init()
{
$keyWordSearch