ARTICLE AD BOX
I am trying to build up something that uses wkwebview and javascript..So, I am having terrible issues with strings..
They are way too short, meaning that they don't have enough capacity. I have understood that string's capacity is huge, something like that it could fit a bible inside it.. Yet; I am experiencing trouble with it. First, json replies from post message, got truncated, so I had to begin creating methods that shrink json to parts.. Not ideal, not at all.. Anyway..
My script is here:
var script: String = "" script += """ let json = JSON.parse(data); if (json && json['cargo'] && json['cargo']['loads'] && Array.isArray(json['cargo']['loads']) && Object.keys(json['cargo']['loads']).length > 0 && json['cargo']['loads'][0]['id']) { var obj = new Object(); obj.id = json['cargo']['loads'][0]['id']; obj.ordererReference = json['cargo']['loads'][0]['ordererReference']; obj.fromname = json['cargo']['loads'][0]['consignorName]; obj.fromstreet = json['cargo']['loads'][0]['consignorStreetAddr']; obj.frompost = json['cargo']['loads'][0]['consignorPostCode'] + " " + json['cargo']['loads'][0]['consignorPostOffice']; obj.fromphone = json['cargo']['loads'][0]['consignorPhone']; obj.fromcoords = json['cargo']['loads'][0]['consignorCoordinateX'] + "," + json['cargo']['loads'][0]['consignorCoordinateY']; obj.toname = json['cargo']['loads'][0]['consigneeName']; obj.tostreet = json['cargo']['loads'][0]['consigneeStreetAddr']; obj.topost = json['cargo']['loads'][0]['consigneePostCode'] + " " + json['cargo']['loads'][0]['consigneePostOffice']; obj.tophone = json['cargo']['loads'][0]['consigneePhone']; obj.tocoords = json['cargo']['loads'][0]['consigneeCoordinateX'] + " " + json['cargo']['loads'][0]['consigneeCoordinateY']; obj.toemail = json['cargo']['loads'][0]['consigneeEmail']; obj.organizer = json['cargo']['loads'][0]['responsiblePerson']; obj.organizerPhone = json['cargo']['loads'][0]['responsiblePhone']; obj.loadArrive = json['cargo']['loads'][0]['loadingPlaceArrival']; obj.loadBegun = json['cargo']['loads'][0]['fetchTimeRealisationStart']; obj.loadEnd = json['cargo']['loads'][0]['fetchTimeRealisation']; obj.deliveryArrive = json['cargo']['loads'][0]['deliveryPlaceArrival']; obj.deliveryBegun = json['cargo']['loads'][0]['deliveryTimeRealisationStart']; obj.deliveryEnd = json['cargo']['loads'][0]['deliveryTimeRealisation']; obj.waybill = json['cargo']['loads'][0]['waybillPdfUrl']; obj.comments = json['cargo']['loads'][0]['comments']; window.webkit.messageHandlers.openLoadDetails.postMessage(JSON.stringify(obj)); } else { window.webkit.messageHandlers.requestError.postMessage("failed to get load details") } """and this is what script string variable contains:
let json = JSON.parse(data); if (json && json['cargo'] && json['cargo']['loads'] && Array.isArray(json['cargo']['loads']) && Object.keys(json['cargo']['loads']).length > 0 && json['cargo']['loads'][0]['id']) { var obj = new Object(); obj.id = json['cargo']['loads'][0]['id']; obj.ordererReference = json['cargo']['loads'][0]['ordererReference']; obj.fromname = json['cargo']['loads'][0]['consignorName]; obj.fromstreet = json['cargo']['loads'][0]['consignorStreetAddr']; obj.frompost = json['cargo']['loads'][0]['consignorPostCode'] + " " + json['cargo']['loads'][0]['consignorPostOffice']; obj.fromphone = json['cargo']['loads'][0]['consignorPhone']; obj.fromcoords = json['cargo']['loads'][0]['consignorCoordinateX'] + "," + json['cargo']['loads'][0]['consignorCoordinateY']; obj.toname = json['cargo']['loads'][0]['consigneeName']; obj.tostreet = json['cargo']['loads'][0]['consigneeStreetAddr']; obj.topost = jsonYes, that's where it truncates. I first thought that there is a "invisible" character that causes this.. Nothing like that. Then I tried to append to string after this, and it still is the same, second string that I append to it.. Just "disappears"..
Okay, maybe there's something I can't see.. So I remove all content.. Open up a wikipedia with swift page on it, copy a rather big portion from there and insert that to script variable - just to see that it happens again, article gets truncated as well..
What is going on??? How can I make "a long string"? Is there a project setting somewhere that has gone wrong and then limits string's maximum length? So frustrating..
I tried to search for this, but it seems that this isn't very common problem - or I am looking with wrong keywords..
