我遇到了问题,如果我尝试打印var我有时会得到一个"可选("var")"如果我尝试登录或打印到标签,但是当我没有得到它.
看这里
ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NSUserDefaults.standardUserDefaults().setObject("notWorking", forKey: "testvar")
NSUserDefaults.standardUserDefaults().synchronize()
println(NSUserDefaults.standardUserDefaults().stringForKey("testvar"))
var test = "working"
println(test)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释这个"可选"出现的时间及其用途吗?我怎么能删除它?
将我的代码更新为swift 1.2后,我坚持了一点
var Question:String!
var Answere:String!
var Answeres:[String]!
var ObjectIDsArray:[String]!
var ButtonNumber:String!
var ObjectIDsArrayCount:Int!
var query : PFQuery = PFQuery(className: "AddonQuiz")
query.getObjectInBackgroundWithId(QuestionID){
(ObjectHolder : PFObject?, error : NSError?) -> Void in
if error == nil {
self.Question = ObjectHolder["ImageLink"] as! String
self.Answeres = ObjectHolder["Answeres"] as! Array
self.Answere = ObjectHolder["Right"] as! String
if self.Answeres.count > 0 {
Run Code Online (Sandbox Code Playgroud)
随着错误
Cannot assign a value of type 'AnyObject?' to a value of type 'String!'
Cannot assign a value of type 'AnyObject?' to a value …Run Code Online (Sandbox Code Playgroud) 我有一个用于在a中显示不同PDF文件的视图UIWebView,这将UIWebView加载PDF文件,NSData如:
webView.loadData(pdfData, MIMEType: "application/pdf", textEncodingName: "utf-8", baseURL: NSURL())
Run Code Online (Sandbox Code Playgroud)
现在有一些PDF文件需要通过UIButton 上面的旋转UIWebView,有没有办法旋转PDF里面的UIWebView?
到目前为止我做了什么尝试
webView.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
但这并没有让我得到我想要的结果.
播放视频后,我尝试让我的视频播放器关闭.
func playVideoPepper() {
var maxVideoCount:Int = 5 //AnzahlderVideos
var Random = Int(arc4random_uniform(maxVideoCount + 0))
var VideoNumber = Random + 1
let path = NSBundle.mainBundle().pathForResource("pepper\(VideoNumber)", ofType:"mp4")
let url = NSURL.fileURLWithPath(path!)
moviePlayer = MPMoviePlayerController(contentURL: url)
if let player = moviePlayer {
player.view.frame = self.view.bounds
player.prepareToPlay()
player.scalingMode = .AspectFill
player.controlStyle = .None
self.view.addSubview(player.view)
var time = player.duration
println(time)
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试用.duration或.playableduration来获取其中一个视频(随机播放5个视频)的时间,但是两个都给我一个0.00是否有任何简单的方法可以在播放视频时删除SubView?
我通过Swift在tvOS中创建了一个UIButton
let randomBtn = UIButton()
randomBtn.setTitle("Zufällig", forState: .Normal)
let RndNormal = UIImage(named: "RndNormal")
let RndHoover = UIImage(named: "RndHoover")
randomBtn.setImage(RndNormal, forState: .Normal)
randomBtn.setImage(RndHoover, forState: .Focused)
randomBtn.setTitleColor(UIColor.blackColor(), forState: .Normal)
randomBtn.setTitleColor(UIColor.whiteColor(), forState: .Focused)
randomBtn.addTarget(self, action: #selector(ViewController.click(_:)), forControlEvents: UIControlEvents.TouchUpInside)
let screenSize: CGRect = UIScreen.mainScreen().bounds
let screenWidth = screenSize.width
randomBtn.frame = CGRect(x: screenWidth - 150, y: 60 , width: 70 , height: 70)
self.view.addSubview(randomBtn)
Run Code Online (Sandbox Code Playgroud)
但如果按下按钮,动作永远不会被解雇,tvOS有什么不同吗?
func click(sender: UIButton) {
print("click")
}
Run Code Online (Sandbox Code Playgroud) 我尝试在swift中为我的MKPointAnnotation创建一个自定义的"badget",但它失败了,因为MKPointAnnotation没有像图像那样的任何属性
var information = MKPointAnnotation()
information.coordinate = location
information.title = "Test Title!"
information.subtitle = "Subtitle"
information.image = UIImage(named: "dot.png") //this is the line whats wrong
Map.addAnnotation(information)
Run Code Online (Sandbox Code Playgroud)
有人想出了一个快速的解决方案吗?
我目前遇到了完全的挫折,因为我找不到任何错误,但我的ActionSheet在iPad上崩溃但在iPhone上运行良好这里是动作的代码
if (view.annotation.title as String!) == "San Francisco" {
currentLat = 37.615223
currentLong = -122.389977
url = "www.google.de"
let action:UIActionSheet = UIActionSheet(title: "Change Map Type", delegate: self, cancelButtonTitle: "Back", destructiveButtonTitle: nil, otherButtonTitles: "Product Page", "Video")
action.showInView(self.view)
action.tag = 0
VideoID = "XXXXXX"
}
Run Code Online (Sandbox Code Playgroud)
所以应该处理的行动是
if actionSheet.tag == 0{
if buttonIndex == 1{ performSegueWithIdentifier("showShop", sender: self) }
if buttonIndex == 2{ UIApplication.sharedApplication().openURL(NSURL(string: "http://www.youtube.com/watch?v=\(youtubeVideoID)")) }
//if buttonIndex == 2{ performSegueWithIdentifier("showYoutube", sender: self) }
}
Run Code Online (Sandbox Code Playgroud)
Youtube可以在iPhone和iPad上运行良好,"showShop"在iPhone上运行良好但在iPad上运行不正常
"showShop"向前看我的ViewControllerShopView看起来像
import UIKit
class ViewControllerShopView: UIViewController { …Run Code Online (Sandbox Code Playgroud) 在我的测验的下一个问题要加载之前,我试着让按钮"摇晃".
动画看起来像
var timer = NSTimer()
UIView.animateWithDuration(0.1, animations: {
self.IMGVIEWcat.center = CGPointMake(self.IMGVIEWcat.center.x + 2, self.IMGVIEWcat.center.y)
})
UIView.animateWithDuration(0.2, animations: {
self.IMGVIEWcat.center = CGPointMake(self.IMGVIEWcat.center.x - 4, self.IMGVIEWcat.center.y)
})
UIView.animateWithDuration(0.3, animations: {
self.IMGVIEWcat.center = CGPointMake(self.IMGVIEWcat.center.x + 2, self.IMGVIEWcat.center.y)
})
Run Code Online (Sandbox Code Playgroud)
在此之后调用以下函数
func QueryInformations(){
println("QueryInformationsStart")
self.ActivityIndicator.hidden = false
ObjectIDsArrayCount = ObjectIDsArray.count
var RandomQuestion = Int(arc4random_uniform(ObjectIDsArray.count + 0))
var QuestionID:String = ObjectIDsArray[RandomQuestion]
var query : PFQuery = PFQuery(className: "AddonQuiz")
query.getObjectInBackgroundWithId(QuestionID){
(ObjectHolder : PFObject!, error : NSError!) -> Void in
...
Run Code Online (Sandbox Code Playgroud)
现在动画开始但是下一个问题加载即时,是否有一些容易等待初学者实现"等待"直到动画完成?
我试着设定
var complet == true …Run Code Online (Sandbox Code Playgroud) 我只是第一次尝试使用NMSSH,但是对我来说它根本无法连接
import UIKit
import NMSSH
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let session = NMSSHSession(host: "11.111.11.11", andUsername: "vnc")
if session.connected == true{
session.authenticateByPassword("1234")
if session.authorized == true {
print("works")
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想在体内添加一个应该自动播放的视频(本地视频)任何简单的解决方案吗?
<!DOCTYPE html>
<html>
<head>
<link href="fuctions/style.css" rel="stylesheet" media="screen" type="text/css" />
<script type="text/javascript" charset="utf-8" src="fuctions/cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8" src="fuctions/functions.js"></script>
</head>
<body onload="onBodyLoad()">
<script type="text/javascript">
checkFirstRun();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我试图得到一个随机数,并且如果它超过另一个数字则具有while结尾:
int main() // random
{
int x= 50;
int i;
while (i>x){
srand(time(0));
int i = rand() %100;
printf("laenge %d", i);
}
}
Run Code Online (Sandbox Code Playgroud)
同时开始很好并产生不同的数字(如1.000倍11,1.000倍75 ......)但它永远不会结束.
我有2个问题,为什么不结束?为什么它会在控制台中获得相同随机数的1.000倍,然后是下一个随机数的1.000倍?
如果我添加:
int main() // random
{
int x= 50;
int i;
while (i>x){
srand(time(0));
int i = rand() %100;
printf("laenge %d", i);
sleep(1);
}
}
Run Code Online (Sandbox Code Playgroud)
睡眠(1); 整个代码不再起作用了.
我有一个mapView自定义注释.我还添加了一个按钮,但有没有办法看到按下按钮的注释?
因此,控制台的帖子不仅应该是"Disclosure Pressed!".我需要像"Disclosure Pressed!info(X) .subtitle"这样的内容来查看用户录制的info1或info2.
这是代码:
import UIKit
import MapKit
class ViewController: UIViewController, MKMapViewDelegate {
@IBOutlet weak var Map: MKMapView!
class CustomPointAnnotation: MKPointAnnotation {
var imageName: String!
}
@IBAction func btpressed(sender: AnyObject) {
}
override func viewDidLoad() {
super.viewDidLoad()
//1
var lat1:CLLocationDegrees = 40.748708
var long1:CLLocationDegrees = -73.985643
var latDelta1:CLLocationDegrees = 0.01
var longDelta1:CLLocationDegrees = 0.01
var span1:MKCoordinateSpan = MKCoordinateSpanMake(latDelta1, longDelta1)
var location1:CLLocationCoordinate2D = CLLocationCoordinate2DMake(lat1, long1)
var region1:MKCoordinateRegion = MKCoordinateRegionMake(location1, span1)
Map.setRegion(region1, animated: true)
var info1 = …Run Code Online (Sandbox Code Playgroud) 目前我尝试设置一个只播放视频的小应用程序(仅适用于我的女儿),但它总是在"路径"上崩溃
import UIKit
import MediaPlayer
var moviePlayer : MPMoviePlayerController?
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
playVideo()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func playVideo() {
let path = NSBundle.mainBundle().pathForResource("video", ofType:"mp4")
let url = NSURL.fileURLWithPath(path!)
moviePlayer = MPMoviePlayerController(contentURL: url)
if let player = moviePlayer {
player.view.frame = self.view.bounds
player.prepareToPlay()
player.scalingMode = .AspectFill
self.view.addSubview(player.view)
}
}
}
Run Code Online (Sandbox Code Playgroud)

崩溃发生在这里 let path = NSBundle.mainBundle().pathForResource("video", ofType:"mp4")
致命错误:在解包可选值时意外发现nil导致路径为空