There's a few that you could consider potentially integrating that doesn’t require adopting the NostrEvent data model if you already have your own:
Public and private key creation:
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/Keys.swift
Unrecommended DM spec:
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/DirectMessageEncrypting.swift
Event verification:
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/SignatureVerifying.swift
NIP-05 validation:
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/NIP05Validating.swift
Relay metadata and validation:
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/RelayURLValidating.swift
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/RelayInfo.swift
Web socket and relay management (though we haven't integrated the outbox model yet, and it has some coupling to the NostrEvent data model):
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/WebSocket.swift
https://github.com/nostr-sdk/nostr-sdk-ios/blob/main/Sources/NostrSDK/RelayPool.swift
For further integration with our data models, we haven’t thought through what that might look like with a persistence framework. We’re leaving room for flexibility so that the developer can choose. With that said, it’ll be good to get an idea of what that might look like. I’ll start thinking about it. Tagging in nostr:npub1qlk0nqupxmlyxravg0aqscxmcc4q4tq898z6x003rykwwh3npj0syvyayc as well as he has much more Apple development experience than I do. I know about Realm, SQLite, and Apple recently introduced SwiftData. Though, I don’t know the tradeoffs.