小编Swi*_*yJD的帖子

如何将自定义对象数组转换为字符串数组?

我目前有一组自定义对象

[GenrePosters]

其定义如下:

public struct GenrePosters: Decodable, Equatable{

  public let poster : String

  public init? (json: JSON) {

    guard let poster: String = "poster_path" <~~ json
      else {return nil}
    self.poster = poster
  }

  public static func ==(lhs: GenrePosters, rhs: GenrePosters) -> Bool {
    return lhs.poster == rhs.poster
  }
Run Code Online (Sandbox Code Playgroud)

打印到控制台时,它看起来像这样:

[MyMovieGuide.GenrePosters(海报:"/ e1mjopzAS2KNsvpbpahQ1a6SkSn.jpg"),MyMovieGuide.GenrePosters(海报:"/ jjBgi2r5cRt36xF6iNUEhzscEcb.jpg"),MyMovieGuide.GenrePosters(海报:"/ tIKFBxBZhSXpIITiiB5Ws8VGXjt.jpg")]

我正在尝试将GenrePosters数组转换为只包含这样的海报值的字符串数组:

["/ e1mjopzAS2KNsvpbpahQ1a6SkSn.jpg""/ jjBgi2r5cRt36xF6iNUEhzscEcb.jpg""/ tIKFBxBZhSXpIITiiB5Ws8VGXjt.jpg"]

任何帮助将不胜感激!

arrays swift

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

如何设置 UIButton 的背景颜色的 alpha?

我目前正在制作一个自定义按钮功能,但希望能够设置背景颜色的 Alpha。这是我到目前为止所拥有的:

  func roundButtonCornersAndAddBorderColor(button: UIButton) {
    button.backgroundColor = .clear
    button.layer.cornerRadius = 5
    button.layer.borderWidth = 1
    button.layer.borderColor = UIColor.white.cgColor
  }
Run Code Online (Sandbox Code Playgroud)

uibutton ios swift

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

Swift 3中的CGAffineTransformConCat/CGAffineTransformMakeScale

我正在尝试为swift 3更新函数的一部分:

  let newLabelOffset = CGFloat(direction.rawValue) * originalFrame.size.height/2

    newLabel.transform = CGAffineTransformConCat(
      CGAffineTransformMakeScale(1,0)
      CGAffineTransformMakeTranslation(0,newLabelOffset)
    )
Run Code Online (Sandbox Code Playgroud)

我听说使用的新方法CGAffineTransformConCatconcatenating(_:),但不完全知道如何根据2个以上的变换设置.

cgaffinetransform ios swift

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

带有模糊的视觉效果视图变为深灰色

目前我们在故事板中添加了一个视觉效果视图,如下所示: 故事板

视图以模态方式呈现,但由于某些奇怪的原因,我可以看到过渡期间下方的图像模糊,但是当过渡完成时,模糊变为深灰色:灰色模糊

还没有编写代码,我试图在故事板中完成所有这些.

modalviewcontroller ios

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

如何在Mac上访问和修改SSH文件?

我正在尝试在计算机上设置SSH,但不确定如何访问〜/ .ssh / config文件。他们从github的网站上提到必须修改此文件,但我不确定其位置或修改方式。

在Github上:

如果您使用的是macOS Sierra 10.12.2或更高版本,则需要修改〜/ .ssh / config文件,以将密钥自动加载到ssh-agent中并将密码短语存储在密钥链中。

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

git macos ssh ssh-keys

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

完成块永远不会被调用?

我们有一个函数,当它完成另一个函数时应该在它的完成块中调用,但是在完成块内的任何东西都不会被调用.这是功能:

func appendAllData (completion: () -> Void) {

    guard let movieDetails = self.movieDetailsData else {
      // handle nil case
      return;
    }

    if let posterImage = self.movieDetailsData?.poster {
      self.posterArray.append(posterImage)
    }

    if let overview = self.movieDetailsData?.overview {
      self.overviewArray.append(overview)
    }

    if let releaseDate = self.movieDetailsData?.releaseData {
      self.releaseInfoArray.append(releaseDate)
    }

    if let runtime = self.movieDetailsData?.runtime {
      self.releaseInfoArray.append(String(describing: runtime))
    }

    if let genre = self.movieDetailsData?.genre {
      if !genre.isEmpty {
        self.releaseInfoArray.append(genre[0].name)
      }
    }

    if let budget = self.movieDetailsData?.budget {
      self.boxOfficeArray.append(budget)
    }

    if let revenue = self.movieDetailsData?.revenue { …
Run Code Online (Sandbox Code Playgroud)

ios completionhandler swift completion-block

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

UIView 过渡动画未执行

我正在尝试在 UIView 出现在屏幕上时使用动画过渡。UIView 显示正确,但出现时没有出现动画。

  override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    let coreView = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))
    coreView.backgroundColor = UIColor.cyan
    coreView.layer.borderColor = UIColor.darkGray.cgColor
    coreView.layer.borderWidth = 8
    coreView.layer.cornerRadius = 15
    coreView.isHidden = true
    self.view.addSubview(coreView)

    //The transition occurs here
    UIView.transition(with: coreView, duration: 2, options: [.curveEaseInOut, .transitionCurlDown], animations: {

      coreView.isHidden = false
    }, completion: {_ in})

    }
Run Code Online (Sandbox Code Playgroud)

uiviewanimation uiviewanimationtransition ios swift

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

Swift 3中"M_PI_4"和"M_PI_2"的语法是什么?

我知道M_PI现在CGFloat.pi但不确定M_PI_4会是什么.我试过CGFloat.pi*4但这不正确.

ios swift

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

如何检查一个视图是否在另一个视图之上?

当前,有一个滚动视图(整个屏幕)位于uiview(屏幕的底部)后面。我正在尝试检查uiview是否覆盖了滚动条上的标签(iphone se会发生这种情况)。有没有办法检查uiview是否覆盖了滚动视图上的标签?我尝试使用中央cgpoint在滚动视图上查看标签是否小于uiview上的一个点,但是它不允许我比较两个cgpoints的大小:

if atmLabel.center < CGPoint(x: 156, y: 570) {
    buttonView.dropShadow(shadowOpacity: 0.5)
}
Run Code Online (Sandbox Code Playgroud)

frame scrollview cgpoint ios swift

2
推荐指数
3
解决办法
3240
查看次数

无法使用类型'(T,from:Data)'的参数列表调用'decode'

我正在尝试创建一个函数,该函数根据传递给它的自定义JSON模型接受"Codable"类型的参数.错误 :

 Cannot invoke 'decode' with an argument list of type '(T, from: Data)'
Run Code Online (Sandbox Code Playgroud)

发生在解码行上,这是函数:

static func updateDataModels <T : Codable> (url: serverUrl, type: T, completionHandler:@escaping (_ details: Codable?) -> Void) {

guard let url = URL(string: url.rawValue) else { return }

URLSession.shared.dataTask(with: url) { (data, response, err) in

    guard let data = data else { return }

    do {
        let dataFamilies = try JSONDecoder().decode(type, from: data)// error takes place here

        completionHandler(colorFamilies)

    } catch let jsonErr {
        print("Error serializing json:", …
Run Code Online (Sandbox Code Playgroud)

generics ios swift swift4 codable

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