Tag: swift3

UIImagePickerController委托不叫Swift 3

表面上,我认为这必须是一个委托问题,但在询问委托人后,返回了正确的委托人。 我创build了一个ImagePicker类来处理所有的UIImagePickerController的东西。 每件事情都有效,直到委托方法需要被调用。 在我select一张照片后,imagePickerclosures,但didFinishPickingMediaWithInfo方法永远不会被调用。 请帮忙! 谢谢 :) func selectPhoto() { imagePicker.delegate = self //Delegate gets set here let photoAsk = UIAlertController.init( //Ask user if they want to take picture or choose one title: "Edit Profile Picture", message: nil, preferredStyle: .alert) let cameraAction = UIAlertAction.init( title: "Take Photo", style: .default) { (UIAlertAction) in if (UIImagePickerController.isSourceTypeAvailable(.camera)) { […]

UICollectionView在Swift 3迁移之后崩溃了?

在我的项目中使用Swift 3转换器之后,在加载UICollectionViewController的子类时,我一直崩溃。 以下是我的代码与收集视图的相关方法。 override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return photos.count } override func collectionView(_ collectionView: UICollectionView, c`enter code here`ellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: tileReuseIdentifier, for: indexPath) as! TileCollectionViewCell cell.captionLabel.text = photos[(indexPath as NSIndexPath).item].caption cell.captionLabel.adjustsFontSizeToFitWidth = true cell.imageView.image = photos[(indexPath as NSIndexPath).item].image cell.layer.cornerRadius = 10 […]

如何在将应用程序语言更改为阿拉伯语时显示阿拉伯语键盘?

我有一个支持阿拉伯语和英语的移动应用程序。 所以对于这个我使用两个独立的故事板,从右向左翻转布局,同时改变语言(不确定是否使用两个单独的故事情景板阿拉伯语和马拉雅拉姆语的好想法,请build议任何其他更好的解决scheme)。 但是,不是这样的情况下,我希望向用户提供阿拉伯语键盘,而将应用程序语言更改为阿拉伯语填写registry单。 如何在Swift 3中实现这一点? – (void)reloadStoryboard { UIStoryboard *storyboard; switch ([AALanguageManager getCurrentLanguage]) { case CurrentLanguageRTL: storyboard = [UIStoryboard storyboardWithName:@"StoryboardRTL" bundle:[NSBundle mainBundle]]; break; default: storyboard = [UIStoryboard storyboardWithName:@"StoryboardLTR" bundle:[NSBundle mainBundle]]; break; } self.window.rootViewController = [storyboard instantiateInitialViewController]; [self.window makeKeyAndVisible]; }

Swift 3:DispatchQueue.main.async {}和DispatcQueue.main.async之间的区别(execute:{})?

两者之间的语义差异很窄,我发现自己想知道为什么两种select都存在。 他们在function上有什么不同,或者只是一个别名?

快速执行select器与对象3

我想在swift 3.0中用对象执行select器 我有一个select器有一个参数 func imageSelected(aImage : UIImage) 我就是这样称呼的 viewC.perform(Selector.init("imageSelected:"), with: image, afterDelay: 0.1) 但是,应用程序崩溃,select器没有定义的错误。

Swift 3中的不安全字节

我正在写一个文件到磁盘,我正在把我的代码转换成Swift 3,并陷入了一些东西。 想看看是否有人能够推动我朝着正确的方向前进。 我目前的代码块是: open let text: NSString data = possibleData ?? Data() open let fileURL: URL? open let fileEncoding: String.Encoding? fileprivate let data: Data! text = NSString(bytesNoCopy: UnsafeMutableRawPointer(mutating: data.bytes.bindMemory(to: Void.self, capacity: data.count)), length: data.count, encoding: encoding.rawValue, freeWhenDone: false)! Swift是说,调用data.bytes是不可用的,我需要使用.unsafebytes来代替。 我不明白你调用不安全的字节的方式(这不像把字节切换到不安全的字节那么简单) 所以我做了一些小小的研究,有人说这样使用闭包模块: data.withUnsafeMutableBytes {(bytes: UnsafeMutablePointer<UInt8>)->Void in //work with bytes in here } 我的问题是,我在闭包块里面放了什么来让我的上面的代码工作? 我想我从根本上失去了一些东西。 我不能使用字节,因为它再次给出相同的错误。 […]

iOS Swift电子邮件深层链接

我需要让我的用户点击电子邮件URL来打开我的应用程序。 我有一些每日更新,我已转发给我的用户。 我在该电子邮件中有一些URL链接。 我只需要让我的用户在点击这些电子邮件链接时打开应用程序。 电子邮件url: http : //kavin.com/login?redirect_to=calendar?cal_navigation=2017-03-23

Swift 3:在collectionView中caching图像

我目前正在通过我的应用程序,更新它与Swift 3一起工作,还有一个问题。 以前,我的图像caching工作得很好,但自更新以来, UIImageView在获取图像时没有被填充。 这里是代码(在…cellForItemAt…函数): if let img = imageCache[imageUrl] { print("CACHE HIT: \(indexPath)") cell.image.image = img } else { print("CACHE MISS: \(indexPath)") var imgUrl: = URL(string: imageUrl) let request: URLRequest = URLRequest(url: imgUrl!) let dataTask = session.dataTask(with: request, completionHandler: { (data, response, error) -> Void in if(data != nil) { print("IMAGE DOWNLOADED: \(imgUrl?.query))") let […]

Swift 3:Realm创build额外的对象,而不是更新现有的对象

在我的AppDelegate let realm = try! Realm() print("number of users") print(realm.objects(User.self).count) if !realm.objects(User.self).isEmpty{ if realm.objects(User.self).first!.isLogged { User.current.setFromRealm(user: realm.objects(User.self).first!) let storyboard = UIStoryboard(name: "Main", bundle: nil) let viewController = storyboard.instantiateViewController(withIdentifier :"TabBar") as! CustomTabBarController self.window?.rootViewController = viewController } } else { try! realm.write { realm.add(User.current) } } 我只在应用程序中没有用户对象时才创build用户 感谢这个答案我以下面的方式更新我的对象 public func update(_ block: (() -> Void)) { let […]

Swift 3:为什么符号_是在发送者之前添加的动作参数?

我的Xcode最近已经更新到Xcode 8与Swift 3.我注意到,当附加动作ViewController函数生成在这种风格: @IBAction func methodName(_ sender: UIButton) { } 我不明白在那里有什么目的。 任何人都可以解释为什么在那里? 在以前的Swift 2.2中,它不在那里。 另一个问题是我以前通过观看教程完成的项目已经迁移到了Swift 3,并且有一种方法如下所示: func toggleButtons(toggle: Bool) { yesButton.isUserInteractionEnabled = toggle noButton.isUserInteractionEnabled = toggle } 我正在像这样调用这个方法: toggleButtons(false)仍然没有传递参数名称。 现在,migrator如下所示更改了它,但是稍后在代码中调用方法时没有任何更改。 func toggleButtons(_ toggle: Bool) { yesButton.isUserInteractionEnabled = toggle noButton.isUserInteractionEnabled = toggle } 这与以前的情况不一样吗?