Tag: reloaddata

在UIImagePickerControllerclosures后,UICollectionView将不会reloadData()

我有一个小问题,从UIImagePickerControllerselect图像(并保存到parsing,因为我的UICollectionView从我的图像Parse填充),我的UICollectionView将不会加载新保存的图像,直到我离开该viewController并回到它。 我已经尝试了所有我能想到的工作。 我应该在哪里把我的代码保存和解散控制器? func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { let imagePicture = UIImageJPEGRepresentation(image, 0.1) let imageFile = PFFile(name: "imageFile.jpg", data: image) let saveImage = PFObject(className: "Gallery") saveImage["imageFile"] = imageFile saveImage["dogName"] = self.dogSelectedName saveImage["userID"] = PFUser.currentUser()?.objectId saveImage["dogID"] = self.dogObjectID saveImage.saveInBackgroundWithBlock { (Bool, error) -> Void in if error != nil { […]

为什么我的主视图控制器不能更新,当我继续?

我试图创build一个非常简单的应用程序。 你在feedViewController中,点击吧button图标(一个摄像头)。 它需要你到AddEditViewController。 在AddEditView控制器中,一旦你点击“保存”,你想添加一个数组,将显示在feedViewController中的图片,但我的图片不显示,直到我停止模拟器中的应用程序,并再次运行。 import UIKit import CoreData import MobileCoreServices class FeedViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate { @IBOutlet weak var collectionView: UICollectionView! var feedArray: [AnyObject] = [] let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. makeItLoad() } override func viewDidAppear(animated: Bool) { […]

在catch块内的UITableView reloadData

我想在UITableView中添加一个catch块,但它什么都不做。 [self.dataArray addObject:@"xyz"]; @try { [self.tableView beginUpdates]; //try with nil to go to catch block [self.tableView insertRowsAtIndexPaths:nil withRowAnimation:UITableViewRowAnimationBottom]; [self.tableView endUpdates]; } @catch (NSException * e) { dispatch_async(dispatch_get_main_queue(), ^{ [self.tableView reloadData]; }); } 任何build议如何重新加载tableview的情况下更新失败的情况下? 谢谢! 更新 所以我可以处理,如果insertRowsAtIndexPaths:无这个工程 @try { [self.tableView beginUpdates]; //try with nil to go to catch block [self.tableView insertRowsAtIndexPaths:nil withRowAnimation:UITableViewRowAnimationBottom]; [self.tableView endUpdates]; } @catch […]

CollectionViewController.reloadData()与来自Parse Server的数据

我已经search了网页,所有声称要解决的类似问题都是针对Objective-C的,或者他们现在没有工作。 有人有一个真实的例子与真实的数据,例如从服务器? 我正在创build一个parsing应用程序,我卡在self.collectionView.reloadData() 。 我可以看到我的数据源正在被来自服务器的数据填充。 在运行findObjectsInBackground(…) ,我可以看到numberOfSections(collectionView)的对象数是正确的,但是collectionView(_:cellForItemAt:)始终显示从Parse服务器返回的对象的索引永远不可用。 我自己创build的对象(如样本)工作正常。 这些对象可以很好地从服务器中获取,并放入我的本地数据存储中,在数据库读取操作完成后我可以看到它们。 我已经尝试过DispatchQueue , OperationQueue.main.addOperation , viewWillAppear , viewDidLayoutSubviews , self.collectionViewLayout.invalidateLayout() , viewDidAppear , self.collectionView?.reloadItems(at:(self.collectionView?.indexPathsForVisibleItems)!)等等。 我也使用了Kyle Andrews的“Custom CollectionView Layouts: 在Swift中构build多方向UICollectionView ”教程。 这是collectionVieController类的完整代码。 import UIKit import Parse private let reuseIdentifier = "Cell" /// This class will act as both the data source and delegate since UICollectionViewController conforms to both […]

(Swift)如何(animation)显示/隐藏单元格基于UITextfieldinput通过重新加载UITableView?

我是一个开始的iOS开发人员,我一直在一个问题上陷入了一段时间。 背景:我有一个单一的视图控制器与tableview。 它拥有4个dynamic的原型单元:原型单元1有一个UITextField和一对标签,原型单元2有一个图像,原型单元3和4只有一个标签。 (注意:原型单元格4是基于对象中的一个数组,并且可以有一个或多个单元格) 在打开屏幕时,只有具有UITextField的第一个单元应该是可见的。 当用户在这个UITextField中input一个数字(最多3位数字)时,必须比较数字以检查它是否是对象数组中的现有数字。 如果这个数字certificate是正确的,则有两件事情必须发生: 第一个单元格中的标签将需要更改布局(颜色,字体,大小等)。 第一个单元格更改rowHeight。 其他3个单元将不得不出现并显示与数字对应的数据。 如果编号错误,则不会出现额外的单元格,并且第一个单元格会更新以告知用户它是不正确的。 问题:根据第一个单元格中的numberinput,我正在animation3个单元格出现和消失的方式。 更具体的方法“toggleCellsVisibility”以及它如何与细胞的创build相关联。 我尝试了多种组合:beginUpdates(),endUpdates(),reloadData(),reloadRowsAtIndexPath(),DispatchQueue.main.async {}和UIView.Animate()。 但是我的代码工作的唯一方法是如果我实现下面的toggleCellsVisibility方法,它不给我任何animation选项。 我似乎在创build和重新加载数据方面做了一些错误。 我认为这与在加载屏幕时使用全局variablesindexOfObject和tempObject有关,它们保存虚拟数据,然后在给出正确数字时显示和覆盖实际数据。 总结:当我在第一个单元格中input正确的数字时,是否可以以某种方式插入/创build3个单元格,同时使用这个特定的设置来animation这个变化? 额外:我可以通过不使用heightForRowAtIndexPath来显示/隐藏额外的单元格吗? 如果细胞可以自我大小,会更好。 我select并简化了相关的代码片段: 1)TableView类: class TableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, updateUITableView { var objects: [Object] = [ name: "test1", number: "test2", image: "imageName1", color: UIColor.black, array: ["test3", "test4"], [name: "test1", number: "test2", image: "imageName2", color: UIColor.white, array: […]

重新加载表会导致闪烁

下面有一个search栏和一个表格视图。 当我search一些networking调用时,10个项目被添加到一个数组来填充表格。 当我滚动到表格的底部时,另一个networking电话是另外10个项目,所以现在有20个项目在数组…这可以继续下去,因为它是一个无限的滚动类似Facebook的新闻饲料。 每次我进行networking调用时,我也在主线程上调用self.tableView.reloadData() 。 由于每个单元格都有一个图像,因此您可以看到闪烁 – 单元格图像闪烁白色 。 我试着实现这个解决scheme,但我不知道把它放在我的代码或如何。 我的代码是Swift,那就是Objective-C。 有什么想法吗? 更新到问题1 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier(R.reuseIdentifier.searchCell.identifier, forIndexPath: indexPath) as! CustomTableViewCell let book = booksArrayFromNetworkCall[indexPath.row] // Set dynamic text cell.titleLabel.font = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline) cell.authorsLabel.font = UIFont.preferredFontForTextStyle(UIFontTextStyleFootnote) // Update title cell.titleLabel.text = book.title // Update authors cell.authorsLabel.text […]

UITableView reloadData()被触发但延迟

我遇到了这个奇怪的UITableView行为。 我在我的应用程序中从CloudKit获取一些logging。 我已经build立了一个NSObject的专用子类来处理所有这些,并且每当它接收到一条logging时,它都会将该logging添加到我的模型数组,然后告诉它的委托它已经收到了一些东西。 委托然后重新加载tableView 。 func cloudKitFetchedRecord(identifier: NSString) { if identifier.isEqualToString("getAllProfiles") { self.tableView.reloadData() } } 这一切工作。 除了我调用reloadData ,没有任何事情发生。 大约需要10-20秒才能重新加载。 奇怪的是,它也重新加载时,我点击屏幕,但是当我发射reloadData没有任何反应。 我已经检查了我的整个应用程序,到处都是断点,但是应用程序没有做任何事情,而延迟重新加载。 我也清理了项目,清理了构build文件夹,几乎所有我能想到的东西,但它一直这样做。 有没有其他人遇到这种行为,或有没有人知道如何解决它? 任何意见将不胜感激

reloadData()致命错误:意外地发现零,而解包一个可选的值

该应用程序在线崩溃 class ImageValueCell: UITableViewCell, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var imagesList: UITableView! var imageArray: NSArray! override func awakeFromNib() { //super.awakeFromNib() // Initialization code imagesList.delegate = self; imagesList.dataSource = self; imageArray = NSArray() imagesList.reloadData() } func addImagesValue(objectList: NSMutableArray, machine: WIFIMachine){ imageArray = objectList imagesList.reloadData() //CRASHED HERE } } 我跟踪并发现在发生崩溃时imageList是零。 这是在故事板上创build的具有UITableView的自定义单元格。 任何人都可以告诉我可能的解决scheme,我可以尝试?

总是从表的第一个索引显示?

我有一个UITableView在我看来。 可以说, tableView有100个索引。 如果我向下滚动并select第50个索引,则会推向另一个视图。 所以我想要的是,如果我从第二个视图popup到tableView视图,那么tableView应该从第一个索引中显示。但是目前它在我之前select的索引中。请参考下面的图像以获得更好的理解。 这里“智能”是第25个索引。如果我选​​择智能,它会推到另一个视图(详细视图)。所以如果我再次回到这个表视图,表应该从第一个视图重置和显示。我该如何实现? 我试图重新加载表,它不工作。 请提出你的想法。 谢谢!!!

iOS UITableView reloadData仅在第二次调用我的重载函数时刷新表

这是我的重装function – (void) reloadTable:(id)sender { NSLog(@"Reload Table"); NSLog(@"%@",[appDelegate queryList]); [self.driverTable reloadData]; [self.driverTable setNeedsLayout]; [self.driverTable setNeedsDisplay]; } 这是我从web服务接收数据后调用它的地方 if( [elementName isEqualToString:@"Response"]) { Response = NO; LookupView *lookupView = [[LookupView alloc] initWithNibName:@"LookupView" bundle:nil]; [lookupView reloadTable:self]; } 我现在遇到的问题是在按下查找button并接收数据后进行search。 该表不会刷新新的数据。 如果我再次按查找button再次调用相同的函数,表重新加载。 现在我知道数据在那里,因为我打电话给表重新加载之前打印数组。 任何想法为什么?