小编Kev*_*566的帖子

有没有办法使用相同的变量名链接多个if-let语句?

比方说,我有三个可选的字符串,string1string2,和string3。我不知道哪一个不是(如果有的话),nil所以我正在使用if-let语句,然后我想对那个非null的字符串做一些事情,而不管它是哪个。

现在,这可以在Swift中使用,但是很麻烦:

if let newString = string1 {
   doSomething()
} else if let newString = string2 {
   doSomething()
} else if let newString = string3 {
   doSomething()
}
Run Code Online (Sandbox Code Playgroud)

我可以做类似的事情(这给我一个错误):

if let newString = string1 || let newString = string2 || let newString = string3 {
   doSomething()
}
Run Code Online (Sandbox Code Playgroud)

swift

6
推荐指数
1
解决办法
143
查看次数

如何跳出函数之外的保护语句?

我在操场上运行一些代码。

var  optional:  Int?
guard let unwrapped = optional else {
    print("optional is nil")
    return
}
print("Optional is not nil”)
Run Code Online (Sandbox Code Playgroud)

使用此当前代码,我收到一条错误消息,指出“在 func 之外返回无效”。如果我更换returnbreak,我得到一个错误,指出break只允许一个循环或交换机的内部。如果我在 print 语句之后没有任何其他语句,我会收到一条错误消息,指出“保护主体不能落空,请考虑使用 return 或 throw 退出范围”。

optional swift swift-playground

2
推荐指数
1
解决办法
1710
查看次数

Google AdMob - “初始化时没有应用程序 ID”错误

我正在尝试在我的应用中使用 Google AdMob。但是,该应用程序在启动时不断崩溃。我相信我已经初始化的AdMob正确的,因为我添加了必需的GADApplicationIdentifier密钥和值到我的Info.plist文件,我也有GADMobileAds.sharedInstance().start(completionHandler: nil)AppDelegate.swift

这是我的错误日志:

2019-10-02 00:23:18.731486-0400 App Name[15066:162231] [Crashlytics] Version 3.14.0 (144)

2019-10-02 00:23:18.741556-0400 App Name[15066:162311] [Client] Synchronous remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo={NSDebugDescription=The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated.}

2019-10-02 00:23:18.742118-0400 App Name[15066:162335] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service on pid 0 named com.apple.commcenter.coretelephony.xpc was invalidated." …
Run Code Online (Sandbox Code Playgroud)

xcode admob ios

2
推荐指数
1
解决办法
3935
查看次数

如何使 UICollectionViewCells 具有圆角和阴影?

我已经看到了类似问题的其他一些答案,但即使进行了一些调整,这些解决方案都对我不起作用。

正如标题所示,我希望我的UICollectionViewCells 有圆角和阴影(或除了顶部之外的所有侧面都有阴影)。到目前为止,我所做的是将两个视图添加到我的UICollectionViewCell-中mainView,它显示单元格的必要内容并具有圆角,并且shadowView,它具有阴影。两个视图都不是另一个视图的子视图,它们一起存在于同一个单元格中。它们的尺寸完全相同,并且mainView明显显示在 的顶部shadowView。这是我当前的代码实现:

let mainView = cell.viewWithTag(1003) as! UIView       
mainView.layer.cornerRadius = 10.0
mainView.layer.borderWidth = 1.0
mainView.layer.borderColor = UIColor.clear.cgColor
mainView.layer.masksToBounds = true

let shadowView = cell.viewWithTag(1002) as! UIView
shadowView.layer.shadowColor = UIColor.black.cgColor
shadowView.layer.shadowOffset = CGSize(width: 0, height: 2.0)
shadowView.layer.shadowRadius = 2.0
shadowView.layer.shadowOpacity = 0.5
shadowView.layer.masksToBounds = false
shadowView.layer.shadowPath = UIBezierPath(roundedRect: shadowView.bounds, cornerRadius: mainView.layer.cornerRadius).cgPath
Run Code Online (Sandbox Code Playgroud)

以下是这段代码产生的结果: 在此输入图像描述 有人会认为mainView它的角不够圆,阴影不够大。

然而,在删除 的背景shadowView并将其设置UICollectionView为黑色后,您可以看到 的mainView角实际上非常圆滑: 在此输入图像描述

所以这意味着问题在于 的shadowView …

uiview ios uicollectionview uicollectionviewcell swift

1
推荐指数
1
解决办法
8538
查看次数