Tag: 迅速

工作区在安装完成后不会生成

我有两个swift项目, application和library ,其中library是application的依赖项。 我有一个Podfileconfiguration如此; workspace 'myworkspace' platform :ios, '9.0' use_frameworks! target :library do project 'library/library.xcproject' pod 'GCDWebServer', '~> 3.0' target :application do project 'application/application.xcproject' end end 成功运行pod install后,我在Xcode中打开myworkspace ,并将application查找为当前选定的scheme。 立即build立失败的结果,由于; 没有这样的模块“图书馆” 为了解决这个问题,我需要将当前scheme改为library ,构build,然后将scheme切换回application ,并成功构build。 问题; 这是预期的,或Xcode和/或CocoaPods中的错误,或者我configuration错误吗? 这是否意味着我需要随时单独构buildlibrary以便在application构build中反映这些更改? Xcode 7.3,CocoaPods 1.0.1, 回购

有效地确定用户是否喜欢在Firebase中发帖

我有一个应用程序,用户可以喜欢的post,我想确定当前用户以前是否喜欢一个有效的方式发布。 我的数据目前看起来像这样: 我也为每个用户存储喜欢 在我目前的查询中,我这样做: if let people = post["peopleWhoLike"] as? [String: AnyObject] { if people[(Auth.auth().currentUser?.uid)!] != nil { posst.userLiked = true } } 不过,我相信这需要我下载所有的post里的效率不是很高,所以我试了一下: if (post["peopleWhoLike\(Auth.auth().currentUser!.uid)"] as? [String: AnyObject]) != nil { posst.userLiked = true } 第二种方法似乎没有正常工作。 有一个更好的方法吗? 这是我最初的查询: pagingReference.child("posts").queryLimited(toLast: 5).observeSingleEvent(of: .value, with: { snap in for child in snap.children { let child = child […]

Swift – UNUsernotification检查BadgeNumberIcon中的更改

我想在标签中显示徽章号码的值。 到目前为止,我已经把所有的东西放在了我的视野里。 所以每当控制器加载variables被分配。 代码如下: var deliveredNotif = Int() override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(true) deliveredNotif = UIApplication.shared.applicationIconBadgeNumber myBadgeLabel.text = "\(deliveredNotif)" } 我的问题是:我如何更新deliverNotif如果控制器是活动的,所以viewWillAppear已被调用? 这意味着如果我在控制器是否有一种方法来触发一个函数,每次更改applicationIconBadgeNumber的值时将更新deliverNotif的值? 谢谢! ——-更新—-我的解决scheme我创build了一个常量variables:var iconBadgeNumber = NSNumber() 在我的Appdelegate中我有: func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { completionHandler([.alert, .badge]) NotificationCenter.default.post(name: NSNotification.Name(rawValue: "applicationIconBadgeNumber"), object: nil) iconBadgeNumber = UIApplication.shared.applicationIconBadgeNumber + […]

如何在没有inheritance的情况下从另一个类访问属性

我正在寻找一个小问题的解决scheme,我宣布了一个button,我细胞类: class MyCell: UICollectionViewCell { @IBOutlet weak var button: UIButton! } 但现在我试图从我的主类访问buttonvariables,如果视图被加载的button应该隐藏,并在几个function的button应该再次突出显示: class mainClassController: UICollectionViewController, UICollectionViewDelegateFlowLayout { // here I try to create reference to the button variable … }

如何检查正在上传到iCloud的项目的进度

我已经实施了像WhatsApp一样的备份系统。 首先,它正在检查文档目录并将数据压缩到临时目录。 然后获取URL到iCloud func getUrlToiCloud() -> URL? { let fileManager = FileManager.default let url = fileManager.url(forUbiquityContainerIdentifier: nil) return url } 接下来是将项目备份到iCloud func iCloudBackupHandler(_ backupName: String, backupPath: String) { guard let url = getUrlToiCloud() else { return } let loggedInUser: String if #available(iOS 10.0, *) { loggedInUser = CKCurrentUserDefaultName } else { loggedInUser = CKOwnerDefaultName } […]

为什么添加一个与中心约束alignment的UIImage丢弃angular落的半径设置?

我试图把一个正方形的图像变成一个圆圈。 我正在使用这个代码来做到这一点: profilePicture2.layer.cornerRadius = profilePicture2.frame.size.height/2 profilePicture2.clipsToBounds = true 它完美的工作,直到我尝试通过添加一个“alignment中心X超级视图”约束中心图像在容器视图中。 当我添加这个约束时,我只是得到非常圆的angular而不是一个圆。 实际上,它似乎是angular落半径的一半。 因此,如果图像的高度为100,并且angular半径应该设置为50,则像半径值一样设为25。 没有其他约束已被添加到图像。 这里发生了什么?

自定义启动屏幕的iOS应用程序

一些谷歌search后,我发现弄乱默认的Xcode启动屏幕是不是最适当的方式让我的屏幕等待一些时间和其他的东西,所以我添加新的视图控制器(自定义类名为飞溅)到我的故事板,然后2秒将显示我的主要UINavigationController ,它不工作只是冻结在启animation面 这是我的代码: import UIKit class splash: UIViewController { override func viewDidLoad() { super.viewDidLoad() NSThread.sleepForTimeInterval(2.0) let vc = storyboard?.instantiateViewControllerWithIdentifier("mainmenu") as! UINavigationController self.presentViewController(vc, animated: true, completion: nil) } }

Swiftstring如何比操作符工作更多

我没有太多Swift的经验,我来自PHP / Python / JavaScript的背景,所以请裸照我。 我在阅读Swift编程语言的文档时,遇到以下代码片段 : let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"] func backwards(s1: String, _ s2: String) -> Bool { return s1 > s2 } names.sort(backwards) // ["Ewa", "Daniella", "Chris", "Barry", "Alex"] 我似乎无法find,是>运算符如何在这种情况下工作,我认为它会做一些事情,如计算字符的数量,然后返回一个布尔基于此,但与此逻辑下面的代码段应该返回false: "CD" > "ABC" // true 有人能解释一下这里发生了什么吗? 谢谢。

在滑动导航中在xib / nib文件之间移动

我需要使用UIButton在xib / nib文件之间移动,但是我不能连接button,如果我连接两个xib / nib文件,是否有某种方法可以实现?

如何从Alamofire错误得到底层错误?

对于这个请求: Alamofire.request("https://google.com").responseCollection { (response: DataResponse<[User]>) in guard response.result.isSuccess else { print(response.error) return } } 我看到这个打印在控制台上: 可选(my_app_name.BackendError.jsonSerialization(Alamofire.AFError.responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain = NSCocoaErrorDomain Code = 3840“Invalid value around the character 0”)UserInfo = {NSDebugDescription =字符0周围的无效值。 ))) 我试过了: Alamofire.request("https://google.com").responseCollection { (response: DataResponse<[User]>) in guard response.result.isSuccess else { print(response.error) if let error1 = response.error as? AFError { print(error1) // Execution DOES NOT […]