Tag: swift

如何在Swift for iOS 8中列出几乎所有的表情符号而不使用任何forms的查找表?

我在Swift中用一些简单的iOS8应用程序的Xcode游乐场玩emojis。 为此,我想创build一个类似于unicode / emoji map / description的东西。 为了做到这一点,我需要一个循环,让我打印出一个emojis列表。 我正在想这个问题 for i in 0x1F601 – 0x1F64F { var hex = String(format:"%2X", i) println("\u{\(hex)}") //Is there another way to create UTF8 string corresponding to emoji } 但是println()会抛出一个错误 Expected '}'in \u{…} escape sequence. 有没有一个简单的方法来做到这一点,我失踪了? 我明白,并非所有的条目都会对应一个表情符号。 另外,我可以通过http://apps.timwhitlock.info/emoji/tables/unicode创build一个查找表,但是我想要一个实现相同的懒/易方法。

Swift:用GCDAsyncUdpSocket接收UDP

背景: 我想能够发送和接收我的iOS应用程序和服务器之间的UDP数据包。 服务器将每个传入的消息回显给客户端应用程序。 服务器经过testing并确认工作 。 我有一个StartViewController,它启动两个实现GCDAsyncUdpSocketDelegate的类,一个用于发送,另一个用于接收。 “发送套接字”正在工作,服务器收到消息。 问题: 该应用程序发送后永远不会收到传入的消息。 与侦听套接字设置的东西可能是错误的,因为didReceiveData永远不会被调用。 我完全做错了吗? 开始: class StartViewController: UIViewController { var inSocket : InSocket! var outSocket : OutSocket! override func viewDidLoad() { super.viewDidLoad() inSocket = InSocket() outSocket = OutSocket() } @IBAction func goButton(sender: UIButton) { outSocket.send("This is a message!") } } 接收: class InSocket: NSObject, GCDAsyncUdpSocketDelegate { let IP […]

如何正确处理Swift 2.0中的NSFileHandleexception?

首先,我是iOS和Swift的新手,来自Android / Java编程的背景。 所以对于我来说,从写入文件的尝试中捕获exception的想法是第二性质,在缺less空间,文件权限问题或任何其他可能发生的文件(并已发生,根据我的经验) 。 我也明白,在Swift中,exception是不同于Android / Java的,所以这不是我在这里问的。 我试图追加到使用NSFileHandle的文件,如下所示: let fileHandle: NSFileHandle? = NSFileHandle(forUpdatingAtPath: filename) if fileHandle == nil { //print message showing failure } else { let fileString = "print me to file" let data = fileString.dataUsingEncoding(NSUTF8StringEncoding) fileHandle?.seekToEndOfFile() fileHandle?.writeData(data!) } 然而, seekToEndOfFile()和writeData()函数都表明它们抛出某种exception: 如果文件描述符closures或无效,接收方表示未连接的pipe道或套接字端点,文件系统上没有剩余空间,或者发生其他写入错误,则此方法引发exception。 – writeData() Apple文档 那么在Swift 2.0中处理这个问题的正确方法是什么呢? 我已经阅读了Swift-Language中的error handling,Swift中的 try-catchexception , NSFileHandle writeData:exception处理 […]

在iOS 11 + Xcode 9中使用refreshPreferences HangTracerEnabled / HangTracerDuration消息

当更新到iOS 11后,在iPhone中运行应用程序后,我在Xcode控制台中收到此消息: SibDiet[924:111682] refreshPreferences: HangTracerEnabled: 0 SibDiet[924:111682] refreshPreferences: HangTracerDuration: 500 SibDiet[924:111682] refreshPreferences: ActivationLoggingEnabled: 0 ActivationLoggingTaskedOffByDA:0 现在,我在每个模拟器和应用程序中都收到了这条消息。 我怎么解决这个问题?

如何从Swift中的uitableviewcell类引用控制器

我有以下 视图控制器 的tableView CustomCell 我使用了一个NIB(一个.xib文件)的单元格,它使用一个CustomCell类。 这个自定义的单元类处理IBAction的一些触摸单元格的button。 我想引用ViewController及其中的一些variables。 我应该怎么做(访问ViewController)? 谢谢!

Swift – UIImagePickerController – 如何使用它?

我正在努力去理解它是如何工作的,但是对我来说这很难。 =)我有1个视图,有一个button和一个小的ImageView区域预览。 该button触发imagepickercontroller,和UIView将显示选定的图像。 没有错误,但图像不显示在UIImageView区域。 var imagePicker = UIImagePickerController() @IBOutlet var imagePreview : UIImageView @IBAction func AddImageButton(sender : AnyObject) { imagePicker.modalPresentationStyle = UIModalPresentationStyle.CurrentContext imagePicker.delegate = self self.presentModalViewController(imagePicker, animated: true) } func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info:NSDictionary!) { var tempImage:UIImage = info[UIImagePickerControllerOriginalImage] as UIImage imagePreview.image = tempImage self.dismissModalViewControllerAnimated(true) } func imagePickerControllerDidCancel(picker: UIImagePickerController!) { self.dismissModalViewControllerAnimated(true) }

如何在'didSelectRowAtIndexPath'中访问segue – Swift / IOS

我知道如何使用prepareForSegue函数中的segues来传递数据,但是我有一个TableViewCell,从两个不同的ViewController有两个可能的Segges(现在我们只是说A,B)。 在这里build议最好将Segges连接到View控制器,而不是tableCell本身,这实际上是完美的。 但是我想传递信息到第二个视图控制器单元格单击时,所以如何访问我连接到Source ViewController的Segue。 码: 里面prepareForSegue if segue.identifier == "showQuestionnaire"{ if let indexPath = self.tableView.indexPathForSelectedRow() { let controller = (segue.destinationViewController as! UINavigationController).topViewController as! QuestionnaireController let patientQuestionnaire = patientQuestionnaires[indexPath.row] as! PatientQuestionnaire controller.selectedQuestionnaire = patientQuestionnaire self.performSegueWithIdentifier("showQuestionnaire", sender: self) } } 再一次:这个问题不是关于通过prepareForSegue传递信息

如何处理iOS 10中的用户通知操作

所以我可以安排这样的通知; //iOS 10 Notification if #available(iOS 10.0, *) { var displayDate: String { let dateFormatter = DateFormatter() dateFormatter.dateStyle = DateFormatter.Style.full return dateFormatter.string(from: datePicker.date as Date) } let notif = UNMutableNotificationContent() notif.title = "I am a Reminder" notif.subtitle = "\(displayDate)" notif.body = "Here's the body of the notification" notif.sound = UNNotificationSound.default() notif.categoryIdentifier = "reminderNotification" let today […]

暂停应用程序启动/退出spritekit游戏.. iOS8

我已经阅读了关于这个主题的所有内容,但仍然无法解决我的问题。 我已经尝试在appdelegate的每个区域暂停我的游戏 func applicationWillResignActive(application: UIApplication!) { NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self) } func applicationDidEnterBackground(application: UIApplication!) { NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self) } func applicationWillEnterForeground(application: UIApplication!) { NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self) } func applicationDidBecomeActive(application: UIApplication!) { NSNotificationCenter.defaultCenter().postNotificationName("pauseGameScene", object: self) } 在我的控制器中: override func viewDidLoad() { NSNotificationCenter.defaultCenter().addObserver(self, selector: "pauseGame:", name: "pauseGameScene", object: nil) } func pauseGame(){ self.skView.paused = true self.skView.scene!.paused = true […]

iOS的Swift通过closures属性?

比方说,我有一个自定义的UIView,让我们称之为MyCustomView。 在这个视图里面是一个UITextField属性。 假设我的目标是能够创build一个MyCustomView的实例,并将其添加到某个视图控制器,我希望该视图控制器能够处理在该文本字段上采取的行动。 例如,如果我在文本字段中的键盘上点击“返回”,我可能想要做一些操作 – 让我举一个例子来说明我用一些Objective-C伪代码想象的内容: MyCustomView *myView = [[MyCustomView alloc] initWithFrame:CGRectMake(10,10,100,100)]; myView.textField.actionBlock = { /* do stuff here! */ } [self.view addSubview:myView]; 然后在MyCustomView类中,我会做这样的事情: – (BOOL)textFieldShouldReturn:(UITextField *)textField { self.actionBlock(); return NO; } 我想自定义视图是UITextFieldDelegate,所以每次我这样做,我不会把所有的委托方法添加到视图控制器,我将它添加到,而是有一个单一的实现,只是做任何我传递给它…如何迅速做到这一点?