Size: a a a

2020 June 03

IG

Ivan Gaydamakin in iOS Fathers
Виталий Кудрин
одна и та же очередь может запускать блоки в разных тредах
источник

ВК

Виталий Кудрин... in iOS Fathers
все объекты которые ты изменяешь должны быть взяты из текущего треда, не передавай их в блоки)
источник

IG

Ivan Gaydamakin in iOS Fathers
Виталий Кудрин
все объекты которые ты изменяешь должны быть взяты из текущего треда, не передавай их в блоки)
- (void)uploadWorker:(TRUploadWorker *)uploadWorker taskUpdatedWithUuid:(NSString *)uuid update:(TRUploadWorkerUpdateCallback)update
{
   dispatch_async(self.dispatchQueue, ^{
       NSLog(@"TOSTER: current thread: %@", [NSThread currentThread]);
       TRUploadTask *task = (TRUploadTask *) [self.realm objectWithClassName:TRUploadTask.className forPrimaryKey:uuid];
//        @autoreleasepool {
       [self.realm transactionWithBlock:^{
           update(task);
           [self.realm addOrUpdateObject:task];
       }];
       RLMResults *results = [TRUploadTask allObjectsInRealm:self.realm];
       for (TRUploadTask *result in results) {
           LOG(@"TRUploadManager: taskUpdated realm: %@ status: %d", result, result.status);
       }
//        }
   });
}


падает на строке: TRUploadTask *task = (TRUploadTask *) [self.realm objectWithClassName:TRUploadTask.className forPrimaryKey:uuid];
источник

IG

Ivan Gaydamakin in iOS Fathers
хуета какая то
источник

DA

Donna Anna in iOS Fathers
Отцы, а скажите - как вы решаете вопрос отправки логов? Вот когда логи не в облако собираются а на устройстве пишутся - вы даете пользователю возможность их отправлять? или там кодируете файлы при упаковке?
источник

IG

Ivan Gaydamakin in iOS Fathers
taskUpdatedWithUuid дергается получается уже из main потока, поэтому и юзаю диспатч
источник

IG

Ivan Gaydamakin in iOS Fathers
Donna Anna
Отцы, а скажите - как вы решаете вопрос отправки логов? Вот когда логи не в облако собираются а на устройстве пишутся - вы даете пользователю возможность их отправлять? или там кодируете файлы при упаковке?
яб в архив перед отправкой сохранял бы 100%, очень хорошо текст сжимается
источник

DA

Donna Anna in iOS Fathers
Ivan Gaydamakin
яб в архив перед отправкой сохранял бы 100%, очень хорошо текст сжимается
ну я именно про заполоривание скорее волнуюсь. я очень не хочу давать пользователю возможность читать логи самому
источник

ВК

Виталий Кудрин... in iOS Fathers
Ivan Gaydamakin
- (void)uploadWorker:(TRUploadWorker *)uploadWorker taskUpdatedWithUuid:(NSString *)uuid update:(TRUploadWorkerUpdateCallback)update
{
   dispatch_async(self.dispatchQueue, ^{
       NSLog(@"TOSTER: current thread: %@", [NSThread currentThread]);
       TRUploadTask *task = (TRUploadTask *) [self.realm objectWithClassName:TRUploadTask.className forPrimaryKey:uuid];
//        @autoreleasepool {
       [self.realm transactionWithBlock:^{
           update(task);
           [self.realm addOrUpdateObject:task];
       }];
       RLMResults *results = [TRUploadTask allObjectsInRealm:self.realm];
       for (TRUploadTask *result in results) {
           LOG(@"TRUploadManager: taskUpdated realm: %@ status: %d", result, result.status);
       }
//        }
   });
}


падает на строке: TRUploadTask *task = (TRUploadTask *) [self.realm objectWithClassName:TRUploadTask.className forPrimaryKey:uuid];
не надо self.realm
источник

DA

Donna Anna in iOS Fathers
Ivan Gaydamakin
яб в архив перед отправкой сохранял бы 100%, очень хорошо текст сжимается
кстати а ты бы чем архивировал? я сто лет ничего не упаковывала
источник

IG

Ivan Gaydamakin in iOS Fathers
Виталий Кудрин
не надо self.realm
поч?
источник

IG

Ivan Gaydamakin in iOS Fathers
Donna Anna
кстати а ты бы чем архивировал? я сто лет ничего не упаковывала
да мне кажется обычный зип хватит
источник

ВК

Виталий Кудрин... in iOS Fathers
потому что надо новый всегда брать, ты берешь рилм не от того потока
источник

ВК

Виталий Кудрин... in iOS Fathers
[[RLMRealm defaultRealm] transactionWithBlock:]
источник

ВК

Виталий Кудрин... in iOS Fathers
вот так надо
источник

IG

Ivan Gaydamakin in iOS Fathers
хм, а нельзя вызывать код от текущего потока? или так нельзя?
источник

IG

Ivan Gaydamakin in iOS Fathers
т.е dispatch_async(self.dispatchQueue, ^{ в данном случае код не переводится на другой поток, я так понял
источник

ВК

Виталий Кудрин... in iOS Fathers
ты выполняешь асинхронный код через очередь, он у тебя будет выполнятся в каком то потоке
источник

ВК

Виталий Кудрин... in iOS Fathers
и не в одном и том же
источник

IG

Ivan Gaydamakin in iOS Fathers
хм
источник