Questions tagged «swift»

Swift是Apple Inc.针对其平台和Linux开发的一种安全,快速且具有表现力的通用编程语言。Swift是开源的。仅将标记用于有关语言功能或在Swift中需要代码的问题。将标签[ios],[ipados],[macos],[watch-os],[tvos],[cocoa-touch]和[cocoa]用于有关平台或框架的(语言不可知)问题。

14
透明导航栏iOS
我正在创建一个应用程序,并且已经在Internet上浏览了,我想知道他们如何制作这种透明的NavigationBar,如下所示: 我在appdelegate中添加了以下内容: UINavigationBar.appearance().translucent = true 但这只会使它看起来像以下内容: 我如何使NavigationBar像第一个图像一样透明

12
在Swift中在数组中查找最大值的正确方法
到目前为止,我有一种简单(但可能很昂贵)的方法: var myMax = sort(myArray,>)[0] 以及如何在学校教我如何做: var myMax = 0 for i in 0..myArray.count { if (myArray[i] > myMax){myMax = myArray[i]} } 有没有更好的方法从Swift中的整数数组获取最大值?理想情况是诸如Ruby之类的单行代码.max
121 arrays  swift 


5
如何在Swift 3.0中使用NotificationCenter和在Swift 2.0中使用NSNotificationCenter传递数据?
我正在socket.io快速的ios应用程序中实现。 目前,在几个面板上,我正在侦听服务器并等待传入​​消息。我这样做是通过getChatMessage在每个面板中调用该函数: func getChatMessage(){ SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in dispatch_async(dispatch_get_main_queue(), { () -> Void in //do sth depending on which panel user is }) } } 但是我注意到这是一个错误的方法,我需要更改它-现在我只想开始监听一次传入的消息,并且当出现任何消​​息时-将此消息传递给任何侦听它的面板。 所以我想通过NSNotificationCenter传递传入的消息。到目前为止,我能够传递发生了某些事情的信息,但无法传递数据本身。我这样做的原因是: NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil) 然后我有一个函数叫做: func showSpinningWheel(notification: NSNotification) { } 每当我想称呼它时,我都在做: NSNotificationCenter.defaultCenter().postNotificationName(hideSpinner, object: self) 那么如何传递对象messageInfo并将其包含在调用的函数中呢?


18
最大长度UITextField
当我尝试过时如何设置可以使用swift输入到UITextField中的最大字符数?,我看到如果我全部使用10个字符,我也无法删除该字符。 我唯一能做的就是取消该操作(一起删除所有字符)。 有谁知道如何不阻塞键盘(这样我就不能添加其他字母/符号/数字,但是我可以使用退格键)?

22
检测到约束不明确地提示高度为零的情况
当我运行包含表视图单元的应用程序时,更新到Xcode 6.1 beta 2后,调试助手会说: Warning once only: Detected a case where constraints ambiguously suggest a height of zero for a tableview cell's content view. We're considering the collapse unintentional and using standard height instead. 以前,当我在该项目上使用Xcode 5时,会遇到一些错误,但是自升级以来,这些错误已经消失了。我现在没有其他错误或警告。我已经尝试过调整所有tableview单元格的大小,也尝试过使用标准高度,但是仍然收到相同的警告: Warning once only: Detected a case where constraints ambiguously suggest a height of zero …

9
'var'参数已弃用,将在Swift 3中删除
好的,所以我只是将Xcode更新为7.3,现在我收到以下警告: 'var'参数已弃用,将在Swift 3中删除 当我需要在此函数中使用var时如何解决此问题: public func getQuestionList(var language: String) -> NSArray { if self.data.count > 0 { if (language.isEmpty) { language = "NL" } return self.data.objectForKey("questionList" + language) as! NSArray } return NSArray() }
120 xcode  swift  xcode7  swift3 


6
条件绑定:如果让出错-条件绑定的初始化程序必须具有Optional类型
我试图从数据源和以下代码行中删除一行: if let tv = tableView { 导致以下错误: 条件绑定的初始化程序必须具有Optional类型,而不是UITableView 这是完整的代码: // Override to support editing the table view. func tableView(tableView: UITableView, commitEditingStyle editingStyle:UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { if editingStyle == .Delete { // Delete the row from the data source if let tv = tableView { myData.removeAtIndex(indexPath.row) tv.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade) …

15
在SwiftUI中使VStack充满屏幕的宽度
给定此代码: import SwiftUI struct ContentView : View { var body: some View { VStack(alignment: .leading) { Text("Title") .font(.title) Text("Content") .lineLimit(nil) .font(.body) Spacer() } .background(Color.red) } } #if DEBUG struct ContentView_Previews : PreviewProvider { static var previews: some View { ContentView() } } #endif 导致这种交互: VStack即使标签/文本组件不需要整个宽度,也如何填充屏幕的宽度? 我发现的一个技巧是在结构中插入一个空 HStack,如下所示: VStack(alignment: .leading) { …
119 ios  swift  xcode  swiftui 

12
如何在iOS 8中正确显示弹出框
我正在尝试将UIPopoverView添加到我的Swift iOS 8应用程序中,但是由于弹出框未以正确的形状显示,因此无法访问PopoverContentSize属性。我的代码: var popover: UIPopoverController? = nil func addCategory() { var newCategory = storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController var nav = UINavigationController(rootViewController: newCategory) popover = UIPopoverController(contentViewController: nav) popover!.setPopoverContentSize(CGSizeMake(550, 600), animated: true) popover!.delegate = self popover!.presentPopoverFromBarButtonItem(self.navigationItem.rightBarButtonItem, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) } 输出: 当我通过UIPopoverPresentationController做同样的事情时,我仍然没有完成它。这是我的代码: func addCategory() { var popoverContent = self.storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController …

12
打印可选变量
我正在尝试这些代码行 class Student { var name: String var age: Int? init(name: String) { self.name = name } func description() -> String { return age != nil ? "\(name) is \(age) years old." : "\(name) hides his age." } } var me = Student(name: "Daniel") println(me.description()) me.age = 18 println(me.description()) 上面的代码产生如下 …
118 swift 

11
提交时,Xcode 8“应用程序签名中缺少aps环境权利”
我有一个应用程序,在过去6个月中我们提交了数十个版本,并且我们确实使用了APNS。升级到Xcode 8后,我从Apple收到了以下电子邮件 亲爱的开发人员, 我们发现您最近为APP_NAME交付商品时遇到一个或多个问题。您的交付成功,但是您不妨在下一次交付中更正以下问题: 缺少推送通知权利-您的应用程序包含Apple的推送通知服务的API,但该应用程序的签名中缺少aps环境权利。要解决此问题,请确保在Provisioning Portal中为推送通知启用了您的App ID。然后,使用包含aps-environment权利的发行配置文件对您的应用程序进行签名。这将创建正确的签名,您可以重新提交您的应用程序。有关更多信息,请参见《本地和推送通知编程指南》中的“ Provisioning and Development”。如果您的应用程序不使用Apple Push Notification服务,则无需采取任何措施。您可以从以后的提交中删除该API,以停止此警告。如果您使用第三方框架, 解决问题之后,可以使用Xcode或Application Loader将新的二进制文件上载到iTunes Connect。 问候, App Store团队 奇怪的是我去了developer.apple.com- > 证书,标识符和配置文件,而我的AppId确实仍启用了推送通知。我没有做任何其他的事情,所以我对Xcode 8更新是否有问题感到好奇。有任何想法吗? 顺便说一句:他们在“推送通知编程指南”中放置的链接在电子邮件中已损坏,因此不是一个好兆头。

30
PhotoPicker发现错误:Error Domain = PlugInKit Code = 13
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我正在尝试在UIImageView中显示照片库中的图像 完整的错误是: 2017-06-09 21:55:59.063307 + 0200 firstapp2.0 [12873:1120778] PhotoPicker发现错误:Error Domain = PlugInKit Code = 13“查询已取消” UserInfo = {NSLocalizedDescription =查询已取消} 我的代码如下: import UIKit class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate{ @IBOutlet weak var pic: UIImageView! @IBOutlet weak var text: UILabel! var chosenImage : UIImage! override func viewDidLoad() { super.viewDidLoad() pic.isUserInteractionEnabled = true; } override …
118 swift  uiimage  ios11 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.