有没有快速的方法来删除Swift 3.0中的字符串中的最后两个字符?我看到有一个简单的方法来删除最后一个字符作为明确指出这里.你知道如何删除最后两个字符吗?谢谢!
我无法弄清楚如何在新版本的Firebase中读取FIRAuthErrorNameKey.以下是我到目前为止,但"let errorCode = FIRAuthErrorNameKey"行不正确.从阅读Firebase文档,我也尝试从userInfo访问错误代码,但没有成功,我的想法.
// Send request to Firebase to add user to register user
FIRAuth.auth()?.createUserWithEmail(emailTextField.text!, password: passwordTextField.text!, completion: { (user, error) in
// Check for errors and respond to user accordingly.
if error != nil {
let errorCode = FIRAuthErrorNameKey
switch errorCode {
case "FIRAuthErrorCodeEmailAlreadyInUse":
// Add logic accordingly
case ...:
// Add logic accordingly
case default:
// Add logic accordingly
}
}
})
Run Code Online (Sandbox Code Playgroud) 我将tableView从Plain更改为Grouped,以使页眉/页脚不会浮在桌子上,而是固定在桌子的顶部和底部。那很简单,但是现在我设置的字体样式格式无法正常工作。奇怪的是,页眉/页脚的所有其他格式似乎都在起作用。任何对正在发生的事情和我所缺少的事情的想法都表示赞赏!
代码如下:
// Setup format of the header
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
let title = UILabel()
title.font = UIFont(name: "Avenir Book", size: 12)
title.textColor = UIColor.whiteColor()
let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
header.contentView.backgroundColor = UIColor(red: 30/255, green: 30/255, blue: 50/255, alpha: 1)
header.textLabel!.font = title.font
header.textLabel?.textColor = title.textColor
header.textLabel?.numberOfLines = 0
header.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
header.textLabel?.textAlignment = NSTextAlignment.Center
}
Run Code Online (Sandbox Code Playgroud)
在普通表中,上述所有方法都很好用,看起来像这样:
但是,当我更改为“分组表”时,除字体样式外,所有格式似乎都显示如下:
我对所有CAPS的来源感到困惑。
我尝试通过此问题/答案实施解决方案,但也无法使其正常工作。感谢您的想法!
我正在尝试实施很酷的 Firebase 电子邮件链接登录功能,但失败了。我成功设置发送电子邮件链接。但是,我无法获得打开应用程序的电子邮件链接。它只是打开预览页面,就像无法打开应用程序一样。
我已经测试了我设置的动态链接,我可以让它在设备中打开应用程序。我只是无法获得电子邮件链接来做同样的事情。
我的应用程序中的代码:
func sendFirebaseEmailLink() {
let actionCodeSettings = ActionCodeSettings.init()
// userEmail comes from a textField
let email = userEmail
actionCodeSettings.url = URL.init(string: String(format: "https://<myappname>.firebaseapp.com/?email=%@", email))
// The sign-in operation has to always be completed in the app.
actionCodeSettings.handleCodeInApp = true
actionCodeSettings.setIOSBundleID(Bundle.main.bundleIdentifier!)
Auth.auth().sendSignInLink(toEmail: email,
actionCodeSettings: actionCodeSettings) { error in
if let error = error {
print(error.localizedDescription)
return
}
else {
UserDefaults.standard.set(email, forKey: "Email")
print("email sent to user")
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我说我已经成功获得动态链接以打开应用程序时,我的意思是当我在安装了该应用程序的设备上点击我创建的链接 (mylinkname.page.link/emaillogin) 时,它会打开该应用程序。正因为如此,[这个有用的 Firebase 视频][1] 关于设置动态链接,似乎我的这些细节是正确的,问题出在代码上,但我是新手,所以我不确定.
我花了几天的时间来解决这个问题,并试图解析密集的 Firebase …
我想通过在模拟器中模拟不同的区域设置来测试数字格式和翻译。 这个答案似乎对如何更改模拟器中的设置有明确的答案,但我一生都找不到语言设置。
我是 Android Studio 的新手,所以请原谅我不知何故错过了这个简单的问题。谢谢!
我无法让谷歌地图居中,并在它作为IBOutlet连接的子视图时添加标记.我试图让它工作它感觉像20种不同的方式,但我被卡住所以会感谢任何帮助或指导.
代码设置非常简单如下:
//Map view outlet
@IBOutlet weak var googleMapView: GMSMapView!
override func viewDidLoad() {
super.viewDidLoad()
// Google Map View Setup
let camera = GMSCameraPosition.cameraWithLatitude(-33.86, longitude: 151.20, zoom: 6)
let mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
mapView.myLocationEnabled = true
self.googleMapView = mapView
let marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
Run Code Online (Sandbox Code Playgroud)
如果视图是整个View Controller,我可以通过将self.googleMapView更改为self.view来使其工作,但我无法弄清楚如何将其正确连接到googleMapView插座.谢谢!
我尝试使用这个类似问题的帮助,但它没有明确回答,因为插座和变量都是mapView,我无法让它工作.
我很难搞清楚如何修复"此应用程序正在从后台线程修改自动布局引擎"错误.任何帮助是极大的赞赏.
我尝试使用这个类似问题概述的方法来使用dispatch_async(dispatch_get_main_qeueu()),但它没有解决问题.我使用不正确吗?
从调试开始,我已经发现Firebase调用重置用户密码至少是问题的一部分.当我遗漏该代码时,没有错误.
相关代码和完整错误消息如下:
//MARK: - Forgot Password Button Tapped
@IBAction func forgotPasswordButtonTapped(sender: AnyObject) {
let userEnteredEmail = emailTextField.text
//Have Firebase send email to reset password
dispatch_async(dispatch_get_main_queue(), {
FIRAuth.auth()?.sendPasswordResetWithEmail(userEnteredEmail!, completion: { error in
if error != nil {
//Tell user that the user name or password is incorrect.
let errorCode = error!.code
switch (errorCode) {
// Error code handling alerting user to issue.
}
}
else {
//Send user to the forgot password screen.
self.performSegueWithIdentifier("toForgotPasswordViewController", sender: self)
} …
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习NSPredicate的美好世界,但是在实际应用中却失败了。任何指导表示赞赏。
特别是,我想使用NSPredicate过滤字典数组。例如,采用以下数组并将其过滤为仅包含“ species” ==“ dog”的那些条目。
var arrayofDictionary:[[String:String]] = [
["name": "Ben", "species": "human"],
["name": "Harp", "species": "dog"],
["name": "Guinness", "species": "dog"]
]
Run Code Online (Sandbox Code Playgroud)
现在,我知道如何按照以下方式进行过滤,但是我的理解是这是“懒惰”的方式,并且在进行大型计算时运行速度不会很快:
let filteredArray = arrayofDictionary.filter { $0["species"] == "dog" }.flatMap { $0 }
Run Code Online (Sandbox Code Playgroud)
所以我一直在玩NSPredicate,觉得以下内容可能是一个不错的起点,但不确定下一步如何使用它。另外,也许这仅适用于数组而不适用于字典?
let speciesPredicate = NSPredicate(format: "species == %@", "dog")
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我只能在Objective-C来找到这个指导这里。不幸的是,我只是开始学习Swift。
这是关于NSPredicate的很好的教程,可以让我全神贯注,但是我无法弄清楚如何针对上述情况完全实现。
我不熟悉以编程方式设置 StackViews 和 Buttons。我的约束出现了一些奇怪的行为,我无法弄清楚我做错了什么。感觉就像我错过了一些简单的东西。任何帮助是极大的赞赏!
我正在尝试向 StackView 添加两个按钮以创建自定义选项卡栏。但是,当我向按钮添加约束时,它们显示在 StackView 底部之外。这就像地球图像的顶部约束不起作用。有任何想法吗?请参阅下面的图像和代码。
// View to put in the StackView
class ProfileBottomTabBarView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
self.translatesAutoresizingMaskIntoConstraints = false
self.backgroundColor = .blue
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
// Calculate the screen height
public var screenHeight: CGFloat {
return UIScreen.main.bounds.height
}
// StackView height set to a proporation of screen height
let stackViewHeight = screenHeight * 0.07
// Views to put in the …
Run Code Online (Sandbox Code Playgroud) 我是 Android 和 Java 新手,无法弄清楚这个看似基本的 for 循环设置如何根据其他两个数组中的数据创建对象数组。
它是这样工作的,但这感觉不太复杂。
// RefineMenuItem is a public class
public class RefineMenuItem {
private int imageIcon;
private String title;
}
// imageIcon and title are arrays with seven values in them
int[] imageItems = { ... }
String[] menuItems = { ... }
// Create the RefineMenu Objects
RefineMenuItem item1 = new RefineMenuItem(imageItems[0],menuItems[0]);
RefineMenuItem item2 = new RefineMenuItem(imageItems[1],menuItems[1]);
RefineMenuItem item3 = new RefineMenuItem(imageItems[2],menuItems[2]);
RefineMenuItem item4 = new RefineMenuItem(imageItems[3],menuItems[3]);
RefineMenuItem item5 = new RefineMenuItem(imageItems[4],menuItems[4]);
RefineMenuItem item6 …
Run Code Online (Sandbox Code Playgroud) 如何禁用 iOS 图表的缩放但不完全停止用户交互?例如,仍然使用突出显示水龙头。这可以处理缩放,但也会禁用其他所有功能。
chartView.userInteractionEnabled = false
Run Code Online (Sandbox Code Playgroud) 所以你可以得到 UIScreen 的宽度和高度如下...
public var screenWidth: CGFloat {
return UIScreen.main.bounds.width
}
public var screenHeight: CGFloat {
return UIScreen.main.bounds.height
}
Run Code Online (Sandbox Code Playgroud)
但是如何获得 UIView 的宽度和高度呢?
swift ×10
ios ×9
firebase ×3
android ×2
arrays ×2
uiview ×2
dictionary ×1
font-style ×1
ios-charts ×1
java ×1
nspredicate ×1
object ×1
string ×1
swift3 ×1
uibutton ×1
uistackview ×1
uitableview ×1
xcode ×1