Verhindern, dass die Funktion die Benutzeroberfläche blockiertIOS

Programmierung für iOS
Guest
 Verhindern, dass die Funktion die Benutzeroberfläche blockiert

Post by Guest »

Code: Select all

.onScrollVisibilityChange { isVisible in
if isVisible {
Task {
saveIdsWatchedTime(postTime: meme.time)
}
}
}
Die ONSCROLLVISIBILIBILIALYCHANGE wird an ein LazyVStack -Element angehängt und jedes Mal wird die SaveIdSwatchedTime aufgerufen, die UI -Get's blockiert und das Scrolling ist zurückgeblieben.
Warum ist das, wenn ich die Aufgabe verwende, im Grunde genommen asynchronisch? p>
Dies ist die Funktion: < /p>

Code: Select all

func saveIdsWatchedTime(postTime: Int) {

if(watchedTimeChecked){
return
}
watchedTimeChecked = true

if((gal == "latest" || gal == "top") && !endOfMemesReached && postTime < lastTimeChecked){

var endString = ""
var endArray = [String]()

let newestMemeViewed = Int(memesWatchedTimeRanges[0].components(separatedBy: ",")[0])
var oldestMemeViewed = Int(memesWatchedTimeRanges[0].components(separatedBy: ",")[1])

if(oldestMemeViewed! > postTime){
memesWatchedTimeRanges[0] = String(newestMemeViewed!) + "," + String(postTime)
oldestMemeViewed = postTime
}

var firstPassed = false
for bla in memesWatchedTimeRanges{

let newestTimePastScroll = Int(bla.components(separatedBy: ",")[0])
let oldestTimePastScroll = Int(bla.components(separatedBy: ",")[1])

if(!firstPassed){

firstPassed = true

endArray.append(bla)
endString += String(newestTimePastScroll!) + "," + String(oldestTimePastScroll!) + "|"

}else{
if(newestMemeViewed! > newestTimePastScroll! && oldestMemeViewed! < oldestTimePastScroll!){

}else{
endArray.append(bla)
endString += String(newestTimePastScroll!) + "," + String(oldestTimePastScroll!) + "|"
}
}
}

if(endString.onlyLastCharacters(1) == "|"){
endString = String(endString.dropLast(1))
}

memesWatchedTimeRanges = endArray

if(gal == "latest"){
memesWatchedTimeRangesString = endString // AppStorage, between 25 and 100 characters long
}else{
memesWatchedTimeRangesTopString = endString // AppStorage, between 25 and 100 characters long
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post