标签: swift

如何在Swift中使用AVPlayerViewController(AVKit)播放视频

如何在Swift中使用AV Kit Player View Controller播放视频?

override func viewDidLoad() {
        super.viewDidLoad()
        let videoURLWithPath = "http://****/5.m3u8"
        let videoURL = NSURL(string: videoURLWithPath)
        playerViewController = AVPlayerViewController()

        dispatch_async(dispatch_get_main_queue()) {
            self.playerViewController?.player = AVPlayer.playerWithURL(videoURL) as AVPlayer
        }
    }
Run Code Online (Sandbox Code Playgroud)

avfoundation ios swift avkit avplayerviewcontroller

154
推荐指数
8
解决办法
18万
查看次数

检查Swift中的空字符串?

在Objective C中,可以执行以下操作来检查字符串:

if ([myString isEqualToString:@""]) {
    NSLog(@"myString IS empty!");
} else {
    NSLog(@"myString IS NOT empty, it is: %@", myString);
}
Run Code Online (Sandbox Code Playgroud)

如何在Swift中检测空字符串?

swift

153
推荐指数
8
解决办法
13万
查看次数

如何手动弃用成员

与Objective-C不同,Swift没有预处理器,那么还有办法手动弃用类的成员吗?

我正在寻找类似的东西:

-(id)method __deprecated;
Run Code Online (Sandbox Code Playgroud)

objective-c deprecated ios c-preprocessor swift

153
推荐指数
3
解决办法
3万
查看次数

来自Swift Range的NSRange?

问题:当我使用使用Range的Swift String时,NSAttributedString接受NSRange

let text = "Long paragraph saying something goes here!"
let textRange = text.startIndex..<text.endIndex
let attributedString = NSMutableAttributedString(string: text)

text.enumerateSubstringsInRange(textRange, options: NSStringEnumerationOptions.ByWords, { (substring, substringRange, enclosingRange, stop) -> () in

    if (substring == "saying") {
        attributedString.addAttribute(NSForegroundColorAttributeName, value: NSColor.redColor(), range: substringRange)
    }
})
Run Code Online (Sandbox Code Playgroud)

产生以下错误:

错误:'Range'不能转换为'NSRange'aligolsString.addAttribute(NSForegroundColorAttributeName,value:NSColor.redColor(),range:substringRange)

macos ios nsrange swift

153
推荐指数
8
解决办法
11万
查看次数

如何在Swift中返回Array的前5个对象?

在Swift中,是否有一种聪明的方法可以使用Array上的高阶方法返回5个第一个对象?这样做的obj-c方法是保存索引,并循环遍历数组递增索引,直到它为5并返回新数组.有没有办法做到这一点filter,mapreduce

arrays swift

152
推荐指数
10
解决办法
7万
查看次数

什么是Swift相当于 - [NSObject描述]?

在Objective-C中,可以description向其类添加一个方法以帮助调试:

@implementation MyClass
- (NSString *)description
{
    return [NSString stringWithFormat:@"<%@: %p, foo = %@>", [self class], foo _foo];
}
@end
Run Code Online (Sandbox Code Playgroud)

然后在调试器中,您可以执行以下操作:

po fooClass
<MyClass: 0x12938004, foo = "bar">
Run Code Online (Sandbox Code Playgroud)

Swift中的等价物是什么?Swift的REPL输出可能会有所帮助:

  1> class MyClass { let foo = 42 }
  2> 
  3> let x = MyClass()
x: MyClass = {
  foo = 42
}
Run Code Online (Sandbox Code Playgroud)

但我想重写此行为以打印到控制台:

  4> println("x = \(x)")
x = C11lldb_expr_07MyClass (has 1 child)
Run Code Online (Sandbox Code Playgroud)

有没有办法清理这个println输出?我见过Printable协议:

/// This protocol should be adopted by types that wish …
Run Code Online (Sandbox Code Playgroud)

swift

151
推荐指数
7
解决办法
4万
查看次数

使用Swift进行NSDate比较

我正在开发一个应用程序,需要检查作业的截止日期.我想知道截止日期是否在下周内,如果是,则执行操作.
我能找到的大部分文档都在Objective-C中,我无法弄清楚如何在Swift中完成它.谢谢您的帮助!!

nsdate swift xcode6

150
推荐指数
8
解决办法
9万
查看次数

命名添加现有对象扩展的Swift文件的最佳实践是什么?

可以使用扩展向现有Swift对象类型添加扩展,如语言规范中所述.

因此,可以创建扩展名,例如:

extension String {
    var utf8data:NSData {
        return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,包含此类扩展的Swift源文件的最佳命名做法是什么?

在过去,该公约是使用extendedtype+categoryname.m如在讨论了目标C型Objective-C的导向.但是Swift示例没有类别名称,并且调用它String.swift似乎不合适.

所以问题是:鉴于上面的String扩展,swift源文件应该被调用什么?

xcode objective-c ios swift

150
推荐指数
4
解决办法
3万
查看次数

Swift 2:调用可以抛出,但它没有标记为'try'并且没有处理错误

在我安装Xcode 7 beta并将我的swift代码转换为Swift 2之后,我遇到了一些我无法弄清楚的代码问题.我知道Swift 2是新的,所以我搜索并弄清楚,因为没有任何关于它,我应该写一个问题.

这是错误:

调用可以抛出,但它没有标记为'try',并且没有处理错误

码:

func deleteAccountDetail(){
        let entityDescription = NSEntityDescription.entityForName("AccountDetail", inManagedObjectContext: Context!)
        let request = NSFetchRequest()
        request.entity = entityDescription

        //The Line Below is where i expect the error
        let fetchedEntities = self.Context!.executeFetchRequest(request) as! [AccountDetail]

        for entity in fetchedEntities {
        self.Context!.deleteObject(entity)
        }

        do {
            try self.Context!.save()
        } catch _ {
        }

    }
Run Code Online (Sandbox Code Playgroud)

快照: 在此输入图像描述

xcode ios swift

150
推荐指数
2
解决办法
10万
查看次数

如何在Swift中获得数学PI常数

我试图找到一种方法在我的Swift代码中包含PI常量.我已经在另一个答案中找到了帮助import Darwin,我知道这些答案可以让我访问C函数.

我还检查了Math包裹,Darwin并发现了以下声明:

var M_PI: Double { get } /* pi */

所以,我假设有一种方法在代码中使用PI,我只是不知道如何 ...

math darwin swift

149
推荐指数
2
解决办法
7万
查看次数