import UserNotifications
import CoreLocation
class LocalNotificationManager {
static let shared = LocalNotificationManager()
import UserNotifications
import UIKit
class NotificationManager: NSObject {
static let shared = NotificationManager()
import SwiftUI
struct PostDetailView: View {
@StateObject private var viewModel: PostDetailViewModel
init(postId: Int) {
import Foundation
import Security
enum KeychainError: Error {
case duplicateItem
case itemNotFound
import SwiftUI
// MARK: - Size Preference
struct SizePreferenceKey: PreferenceKey {
static var defaultValue: CGSize = .zero
import CoreData
class CoreDataStack {
static let shared = CoreDataStack()
lazy var persistentContainer: NSPersistentContainer = {
import Foundation
import Combine
class NetworkService {
private let baseURL = "https://api.example.com"
private var cancellables = Set<AnyCancellable>()
import Foundation
enum UserDefaultsKey: String {
case username
case isFirstLaunch
case lastSyncDate
import Foundation
// MARK: - Basic Codable
struct User: Codable {
let id: Int
let username: String
import UIKit
protocol Coordinator: AnyObject {
var navigationController: UINavigationController { get set }
var childCoordinators: [Coordinator] { get set }
import SwiftUI
struct PostsListView: View {
@StateObject private var viewModel = PostsListViewModel()
var body: some View {
import XCTest
import Combine
@testable import MyApp
class PostsViewModelTests: XCTestCase {
var viewModel: PostsViewModel!