Царство без знака долгое исключение - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть словарь:

var swiftBlogs:[Message] = [Message]()

Мой класс сообщений:

class Message: Object {
    @objc dynamic var incoming=false
    @objc dynamic var text = ""
    @objc dynamic var from = ""
    @objc dynamic var fromMe = 0
    @objc dynamic var roomName = ""
    @objc dynamic var time=0
    @objc dynamic var isInfo=false
    @objc dynamic var me=""
    @objc dynamic var messageId=0
    @objc dynamic var localId=0
    @objc dynamic var isSent=1
    @objc dynamic var isRibbon=0
    @objc dynamic var ribbonJson = ""
    @objc dynamic var isImage=0
    @objc dynamic var isVoice=0
    @objc dynamic var serverTime=0
}

Я обновляю статус отправленных сообщений, например:

let messageInfo:Dictionary<String,Message?> = notification.userInfo as! Dictionary<String,Message?>
let m1 = messageInfo["m"]
if let i = swiftBlogs.index(where: {$0.localId == m1!?.localId}) {
    swiftBlogs[i].isSent=1
}

На самом деле это работает хорошо, но я вижу слишком много отчетов о сбоях от моих пользователей для этой строки:

if let i = swiftBlogs.index(where: {$0.localId == m1!?.localId}) {

Исключение:

2   Realm                           0x10498ec08 long long (anonymous namespace)::get<long long>(RLMObjectBase*, unsigned long) + 164 (RLMObject_Private.hpp:45)

Полный журнал сбоя:

Last Exception Backtrace:
0   CoreFoundation                  0x18d080518 __exceptionPreprocess + 228
1   libobjc.A.dylib                 0x18c25b9f8 objc_exception_throw + 55
2   Realm                           0x10498ec08 long long (anonymous namespace)::get<long long>(RLMObjectBase*, unsigned long) + 164 (RLMObject_Private.hpp:45)
3   Ribony                          0x1041a4f34 ChatViewController.processIsSent(_:) + 772 (ChatViewController.swift:396)
4   Ribony                          0x1041a9e8c @objc ChatViewController.processMessage(_:) + 108
5   CoreFoundation                  0x18cff15bc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 19
6   CoreFoundation                  0x18cff1588 ___CFXRegistrationPost_block_invoke + 63
7   CoreFoundation                  0x18cff0a7c _CFXRegistrationPost + 391
8   CoreFoundation                  0x18cff0728 ___CFXNotificationPost_block_invoke + 95
9   CoreFoundation                  0x18cf6a524 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1495
10  CoreFoundation                  0x18cff01d8 _CFXNotificationPost + 695
11  Foundation                      0x18d9d8814 -[NSNotificationCenter postNotificationName:object:userInfo:] + 67
12  Ribony                          0x1041249cc closure #1 in closure #1 in ChatManager.sendMessage(_:to:anonClosed:toWeb:localId:isFirstReply:is... + 536 (ChatManager.swift:499)
13  RealmSwift                      0x104de45fc Realm.write(_:) + 60 (Realm.swift:155)
14  Ribony                          0x104124734 closure #1 in ChatManager.sendMessage(_:to:anonClosed:toWeb:localId:isFirstReply:isRibbon:isImage... + 512 (ChatManager.swift:495)
15  SocketIO                        0x104e8dfd8 SocketIOClient.handleAck(_:data:) + 352 (SocketAckManager.swift:70)
16  SocketIO                        0x104e8e7c8 SocketIOClient.handlePacket(_:) + 596 (SocketIOClient.swift:362)
17  SocketIO                        0x104ea01c0 specialized SocketManager._parseEngineMessage(_:) + 704 (SocketManager.swift:401)
18  SocketIO                        0x104e9f50c partial apply for closure #1 in SocketManager.engineDidClose(reason:) + 32
19  SocketIO                        0x104e7339c thunk for @escaping @callee_guaranteed () -> () + 28 (<compiler-generated>:0)
20  libdispatch.dylib               0x18cac0a38 _dispatch_call_block_and_release + 23
21  libdispatch.dylib               0x18cac17d4 _dispatch_client_callout + 15
22  libdispatch.dylib               0x18ca6f004 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1067
23  CoreFoundation                  0x18d011ec0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 11
24  CoreFoundation                  0x18d00cdf8 __CFRunLoopRun + 1923
25  CoreFoundation                  0x18d00c354 CFRunLoopRunSpecific + 435
26  GraphicsServices                0x18f20c79c GSEventRunModal + 103
27  UIKitCore                       0x1b95f7b68 UIApplicationMain + 211
28  Ribony                          0x1040fa3a4 main + 68 (ConversationModel.swift:16)
29  libdyld.dylib                   0x18cad28e0 start + 3

Где проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...