使用点符号swift

时间:2015-05-05 14:36:35

标签: ios swift function syntax avplayer

我无法在函数外部访问playerAv()函数的元素。我该如何访问它?

我还尝试删除该函数并在任何函数之外使用这些行,我在第二行中出错。为什么我无法在函数外部分配audioLink值?

var audioLink = "http://www.liveatc.net/play/ltba.pls"
var player:AVPlayer = AVPlayer(URL: NSURL(string: audioLink))

我试过

let pa = playerAv()
pa.player.volume = currentValue //I got an error here:(
println(currentValue)

代码的一部分:

 func playerAv(){

        var audioLink = "http://www.liveatc.net/play/ltba.pls"
        var player:AVPlayer = AVPlayer(URL: NSURL(string: audioLink))
    }
@IBAction func sliderValueChanged(sender: UISlider) {
        var currentValue = Float(sender.value)
        println(currentValue)
        player.volume = currentValue
    }

由于

2 个答案:

答案 0 :(得分:2)

你很困惑。

您正在混合类和函数。

函数的局部变量在函数外部无法通过设计访问。它们只存在于函数的范围内,并在函数返回后立即停止存在。因此你的playerAv()函数没有做任何有用的事情。

在我看来,你希望playerAv成为一个具有实例变量的类:

class PlayerAv
{
  let audioLink: String = "http://www.liveatc.net/play/ltba.pls"
  var player: AVPlayer
  init()
  {
    player = AVPlayer(URL: NSURL(string: self.audioLink))
  }
}

现在您可以创建一个PlayerAv对象并使用它:

let pa = playerAv()
pa.player.volume = currentValue 

答案 1 :(得分:0)

如果在函数内部声明<?php require_once('TwitterAPIExchange.php'); /** Set access tokens here - see: https://dev.twitter.com/apps/ **/ $settings = array( 'oauth_access_token' => "1", 'oauth_access_token_secret' => "1", 'consumer_key' => "1", 'consumer_secret' => "1" ); $url = "https://api.twitter.com/1.1/trends/place.json"; $requestMethod = "GET"; $getfield = '?id=26734'; $twitter = new TwitterAPIExchange($settings); echo $twitter->setGetfield($getfield) ->buildOauth($url, $requestMethod) ->performRequest(); ?> ,则此变量的范围仅在函数内部。

您需要将播放器创建放在控制器或任何适合您的类中:

var player