- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
结果包含1条数据和特定日期的任意数量的图像,我想下载任何特定联系人的记录,将数据保存在datTable中,将图像保存在imagetable中。
但我收到警告
This application is modifying the autolayout engine from a background thread which can lead to engine corruption and weird crashes, this will cause an exception in a future release
我的代码是:
func downloadFunc() {
let url = NSURL(string: "http://development.ssntpl.com/personal_record_api/downloaddescription.php");
let request = NSMutableURLRequest(URL:url!)
request.HTTPMethod = "POST"
let post:NSString = "user_id=\(id)&month=True&date=\(Month)&email=\(Email)"
print(post)
request.HTTPBody = post.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil
{
print("error is \(error)")
return;
}
//parsing the response
do {
//converting response to NSDictionary
let myJSON = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary
//print("DOWNLOADED DATA")
//print(myJSON!)
//parsing the json
if let parseJSON = myJSON
{
let Status = parseJSON["status"] as! Int
let Code = parseJSON["code"] as! Int
//print("status:\(Status)")
//print("code:\(Code)")
if (Status == 1)
{
let Result = parseJSON["result"]!
//print("Result=\(Result)")
//print("CHECKOUT")
for res in Result as! NSArray
{
let date = res["date"] as! String
let data = res["data"] as! String
print("data")
print(data)
if (data != "")
{
//ModelManager.sharedInstance.insertingRecordDataToDatabaseAfterDownload(self.id, email: self.Email, createdOn: date, record: data)
//function for Saving the DataRecords into the Database
let URL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil , create: false).URLByAppendingPathComponent("PersonalRecordAppDataBase.sqlite")
guard let recordDB = FMDatabase (path : URL.path) else
{
print("unable to create the database")
return
}
print(URL)
guard recordDB.open()
else
{
print("Database is not open or unable to connect")
return
}
do
{
try! recordDB.executeUpdate ("create table IF NOT EXISTS recordDataTable (ID integer, Email text, createdOn TEXT, updatedOn TEXT, Record text, Lastseen TEXT)" , values: nil);
try! recordDB.executeUpdate ("insert into recordDataTable (ID, Email, createdOn, updatedOn, Record, Lastseen) values(?,?,?,?,?,?)", values : [self.id, self.Email, date, self.Current! , data, ""])
}
catch let error as NSError
{
print("failed: \(error.localizedDescription)")
}
recordDB.close()
}
let image = res["images"] as! NSArray
print(image.count)
//print(image)
//while (image.next != nil)
self.lastComponentArray.removeAll()
for item in image
{
if item as! String != ""
{
//print("image : \(image)")
//print("CHECKEDIN")
//print(image)
print(item)
let url = NSURL(string: item as! String)
let request = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
{
(response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in
let imagedata = UIImage(data: data!)
let lastComponent = url?.lastPathComponent
//print("itemLASTCOMPONENT = \(lastComponent!)")
self.lastComponentArray.append(lastComponent!)
//print(self.lastComponentArray)
//ModelManager.sharedInstance.insertingRecordImagesToDatabaseAfterDownload(self.id, email: self.Email, createdOn: date, lastComponent: lastComponent!)
// Saving images to the Document Directory
let fileManager = NSFileManager.defaultManager()
let paths = (NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString).stringByAppendingPathComponent("/\(lastComponent!)")
print("Imagepaths=\(paths)")
let imageData = UIImageJPEGRepresentation(imagedata!, 0.2)
fileManager.createFileAtPath(paths as String, contents: imageData, attributes: nil)
//function for Saving the RecordImages into the Database
let URL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil , create: false).URLByAppendingPathComponent("PersonalRecordAppDataBase.sqlite")
guard let recordDB = FMDatabase (path : URL.path) else
{
print("unable to create the database")
return
}
print(URL)
guard recordDB.open()
else
{
print("Database is not open or unable to connect")
return
}
do
{
try recordDB.executeUpdate("create table IF NOT EXISTS recordImagesTable (ID integer, Email text, createdOn TEXT, updatedOn TEXT, recordImages NSDate)" , values: nil);
try! recordDB.executeUpdate ("insert into recordImagesTable (ID,Email,createdOn, updatedOn, recordImages) values(?,?,?,?,?)", values : [self.id, self.Email, date, self.Current!, lastComponent!, ""])
}
catch let error as NSError
{
print("failed: \(error.localizedDescription)")
}
recordDB.close()
}
self.tableView.reloadData()
// print("lastComponentArray")
//print(self.lastComponentArray)
}
}
print("save to database")
// ModelManager.sharedInstance.insertingRecordImagesToDatabaseAfterDownload(self.id, email: self.Email, createdOn: date, lastComponent: self.lastComponentArray)
}
//showing the AlertView that Records has been Downloaded
let A = UIAlertController(title: "Done!!!", message: "Record downloaded", preferredStyle: .Alert)
let B = UIAlertAction(title: "ok", style:UIAlertActionStyle.Default, handler: nil)
A.addAction(B)
self.presentViewController(A, animated: true, completion: nil)
}
if (Status == 0)
{
print("No data for Selected month")
}
}
}
catch
{
print(error)
}
}
//executing the task
task.resume()
}
最佳答案
要更新 UI,您应该调用主线程
将此代码放在更新 ui 的位置
快速 3 路
DispatchQueue.main.async {
//here you can update UI
}
快速2路
dispatch_async(dispatch_get_main_queue()) {
//here you can update UI
}
关于ios - 从服务器下载: "This application is modifying the autolayout engine ...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41632855/
我有一个表,其中包含带有订单字段的项目,我用这些字段将它们画在树上。 CREATE TABLE items ( menuId INTEGER, itemId INTEGER,
我正在关注这个 YouTube他们使用的教程Modifier.preferredSize()在一个盒子上和 Modifier.preferredHeight()在 Spacer Composable
当删除包含 UserSession.insert 的 if 语句时,一切正常。但是当它被包含时,我们会收到有关无效修饰符的错误。 出了什么问题?谢谢! 服务器/helpers/b.s Meteor.s
我已经为我的 Android 项目构建了一个注释处理器,它使用 JavaPoet 构建了一个源文件。但是,每次我需要对任何 JavaPoet 对象调用 addModifiers 时,Android S
我应该在哪里设置像 CreatedDate、CreatedBy、ModifiedDate、ModifiedBy 这样的字段?我应该将当前用户上下文传递到存储库并将其设置在那里,还是更好的方法是在应用程
我可以以某种方式重构以下代码片段以摆脱 双修饰符声明 ? .block { &__element { rule: value; } &--modifier { rule:
我正在编写一个函数,它接受一个谓词 p 和一个列表。它返回 ([value],[state]),其中第一个列表包含通过 p 的元素,第二个列表包含未通过的元素。但是,当我运行 runState (my
在我的项目中,我使用了 Typescript@4.0.3它运行良好,但现在我将其版本更新为最新 Typescript@4.1.3它给了我很多错误。我无法在文档中找到任何内容,也没有任何想法如何解决此问
我正在开发一个通过表单发送数据的 Rails 应用程序。我想在表单发送之后,但在它被处理之前修改表单的一些“参数”。 我现在拥有的 {"commit"=>"Create", "authentici
我的问题是关于接口(interface)。我创建了一个接口(interface)并定义了四个方法:第一个方法是 private 方法;第二个是 default 方法;第三个是static方法;第四个是
好的,所以我当前正在尝试选择目录中的最新文件(本例中为/FSTP/LOGS),但我想忽略包含字符串“DEBUG - null”但不是字符串的任何文件“DEBUG - MA”或“INFO - MA”。这
正是标题所说的。 Modifier.heightIn(...) 和有什么区别和 Modifier.prefferedHeigh() .在我的试验中,它们似乎以相同的方式工作。有谁知道何时使用什么以及在
我在项目中使用 Android Volley Networking 库。 当我自己将带有 etag 的“if-None-Match”添加到 header 时,我没有得到 304,因为 Volley 还
我一直在阅读一些关于在从服务器发送响应时为 Last-Modified 设置 header 的文章。我了解它的用途,以及如何设置它等。 我也理解传入的 If-Modified-Since header
我一直在浏览 Ivy 文档,但我对默认 ivysettings.xml 有疑问在 ivy.jar 中找到。 我要做的就是将公共(public)存储库更改为我们拥有的本地 Maven 存储库。就是这样。
我是 Ruby 新手。这是一个使用任何语言的编程面试问题。我正在尝试用 Ruby 来做。 编写一个程序来输入给定的句子。用单词的第一个字母/#ofcharactersbetween1st&laSTLe
我收到以下代码A的警告信息,为什么? 可选的 Modifier 参数应具有默认值 Modifier 代码A @Composable fun DisplayIcon( modifier: Mod
假设我想创建一个 Column与最宽的 child 一样宽Text在里面。为此,该列可以使用 .wrapContentWidth() 修饰符或 .width(IntrinsicSize.Max) ,但
我正在尝试用 Javascript 编写实现图形(数据结构)。为此,我有一个名为 Graph 的函数将该矩阵存储在名为 this.adjMatrix 的属性中的二维数组中。它还有很多方法。 我还想创建
即使在 Google PageSpeed(97) 和 Yahoo! YSlow(92) PHP 生成的缩略图似乎并不是被动地从旧缓存中获取的:它们似乎每次都生成......又一次......新鲜出炉,
我是一名优秀的程序员,十分优秀!