小编Ant*_*hos的帖子

Swift中的二维数组

我对Swift中的2D数组感到困惑.让我一步一步地描述.如果我错了,请你纠正我.

首先; 声明一个空数组:

class test{
    var my2Darr = Int[][]()
}
Run Code Online (Sandbox Code Playgroud)

其次填充数组.(例如,my2Darr[i][j] = 0其中i,j是for循环变量)

class test {
    var my2Darr = Int[][]()
    init() {
        for(var i:Int=0;i<10;i++) {
            for(var j:Int=0;j<10;j++) {
                my2Darr[i][j]=18   /*  Is this correct?  */
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,编辑数组中的元素

class test {
    var my2Darr = Int[][]()
    init() {
        ....  //same as up code
    }
    func edit(number:Int,index:Int){
        my2Darr[index][index] = number
        // Is this correct? and What if index is bigger
        // than i or j... Can we control that …
Run Code Online (Sandbox Code Playgroud)

arrays swift

93
推荐指数
8
解决办法
15万
查看次数

Swift将字符转换为字符串

我有一个将字符类型转换为字符串类型的问题.首先,我在String的扩展名下面用于在String中查找第n个字符.

extension String {
    func characterAtIndex(index: Int) -> Character? {
        var cur = 0
        for char in self {
            if cur == index {
                return char
            }
            cur++
        }
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到了这个类扩展我想要的东西.但是,当我将第n个字符用于我的自定义UIButton的标题时,会出错.我的Uibutton课程是

class hareketliHarfler: UIButton {
    init(frame: CGRect) {
        super.init(frame: frame)
        // Initialization code
    }
    func getLetter(letter:String!){
        self.titleLabel.text = letter 
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试访问"getLetter(letter:String)"函数时出现错误.以下是主视图控制器代码的示例:

    var harfim = hareketliHarfler(frame: CGRectMake(100,100,100,100))
var str="This is my String"
var bufi=str.characterAtIndex(3)
    harfim.getLetter(bufi as AnyObject) ****
Run Code Online (Sandbox Code Playgroud)

*部分我尝试.getLetter(bufi),. getLetter(bufi as String)我也尝试更改函数的参数类型.看起来像:func getLetter(letter:Character!)或func getLetter(letter:AnyObject!)......等找不到方法.需要帮助.谢谢

ios swift

39
推荐指数
2
解决办法
5万
查看次数

Swift版本的componentsSeparatedByString

我知道它的noob问题,我真的在搜索之前搜索.但对于我想知道的内容并没有确切的答案.我们如何在不使用Objective C的情况下将字符串拆分为数组?例如:

var str = "Today is so hot"
var arr = str.componentsSeparatedByString(" ")  // *
Run Code Online (Sandbox Code Playgroud)
  • 我知道它不起作用,但我正在寻找那样的.我想用""(或另一个字符串/字符串)拆分字符串

想法:对我来说可能非常好,扩展了字符串类.但我不知道我是怎么做到的.

编辑:忘记导入基础.如果我导入基础它将工作.但是有没有办法扩展String类?谢谢

ios swift

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

从剪贴板读取字符串

如何从剪贴板中读取字符串并将其写在按钮的标题上?我可以将字符串复制到剪贴板:

UIPasteboard.generalPasteboard().string = "Hello world"
Run Code Online (Sandbox Code Playgroud)

但是如何从剪贴板中读取该字符串并将其分配给String?

ios swift

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

如何在swift中读取文件数据应用程序文档目录?

我是Swift编程语言的新手.我想从一些电子管服务器下载电影,想要离线播放.我正在使用Alamofire下载部分.我可以列出文件:

var file:String?
if let files = NSFileManager.defaultManager().contentsOfDirectoryAtPath(documentsDirectory, error: &error) as? [String] {
                for filename in files {
                    // do stuff with filename
                    file = filename
                    println(filename)
                }
            }
Run Code Online (Sandbox Code Playgroud)

但问题是如何将该文件用于我的目的.假设它的图像文件,我想在imageview中显示.

myImageView.image = UIImage(contentsOfFile: file) /* doesn't work*/
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助.

swift

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

如何快速播放电影

我是Swift语言的新手.我想开发简单的电影播放器​​应用程序进行学习.我在我的项目中添加了一些电影(".avi,.flv,.f4u ......哪种格式最好).我的观点很简单.我的视​​图上有一个按钮.IT称为"播放".当用户点按时在那个按钮上电影将开始.

另外我还需要播放音频文件,比如mp3或.mid文件.你能告诉我如何在Swift中做到这一点吗?如果你用例子解释,它将是完美的.

编辑

我不是要求所有代码.当我尝试将Objective C代码转换为Swift时,我感到困惑.我想知道如何在Swift中开发下面的代码?

NSString *path = [[NSBundle mainBundle] pathForResource:@"eminem1" ofType:@"mp4"];   

MPMoviePlayerController *myPlayer = [[MPMoviePlayerController alloc] init];
myPlayer.shouldAutoplay = YES;
myPlayer.repeatMode = MPMovieRepeatModeOne;
myPlayer.fullscreen = YES;
myPlayer.movieSourceType = MPMovieSourceTypeFile;
myPlayer.scalingMode = MPMovieScalingModeAspectFit;
myPlayer.contentURL =[NSURL fileURLWithPath:path];
[self.view addSubview:myPlayer.view];
[myPlayer play];
Run Code Online (Sandbox Code Playgroud)

avfoundation ios swift

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

如何在swift中下载GIF图像

我正在开发一些tumblr客户端.我想在仪表板中下载所有照片并将其保存到documentDirectory.其中一些是jpg,有些是gif.我已经使用以下代码成功下载了jpg图像:

do {
        let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
        let fileURL = documentsURL.appendingPathComponent(fname)
        if let pngImageData = UIImagePNGRepresentation(myImage!) {
            try pngImageData.write(to: fileURL, options: .atomic)
            print(fname + " - saved")
        }
    } catch {print(fname + " - not saved") }
Run Code Online (Sandbox Code Playgroud)

myImage是从URL下载的图像.此代码适用于jpg图像但不适合GIF.

最后我用这个读了这些文件:

let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let filePath = documentsURL.appendingPathComponent(fname).path
    if FileManager.default.fileExists(atPath: filePath) {
        return UIImage(contentsOfFile: filePath)!
    }
Run Code Online (Sandbox Code Playgroud)

它适用于jpg,但不适用于GIF.当我在GIF图像上尝试这种写/读代码时,我得到的图像不是动画.

你能告诉我一个例子的方式会很棒吗?

谢谢.

ios swift

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

在 Swift 中完成下载后设置文件名

我正在尝试为 iPhone 开发下载管理器应用程序。我正在使用这个类进行下载操作:

import UIKit
import Foundation

typealias CompleteHandlerBlock = () -> ()

class newDownloadObject: NSObject,NSURLSessionDelegate, NSURLSessionDownloadDelegate {
    var session: NSURLSession!
    var handlerQueue: [String : CompleteHandlerBlock]!

    class var sharedInstance: newDownloadObject {
        struct Static {
            static var instance : newDownloadObject?
            static var token : dispatch_once_t = 0
        }

        dispatch_once(&Static.token) {
            Static.instance = newDownloadObject()
            Static.instance!.handlerQueue = [String : CompleteHandlerBlock]()
        }

        return Static.instance!
    }

    //MARK: session delegate
    func URLSession(session: NSURLSession, didBecomeInvalidWithError error: NSError?) {
        println("session error: \(error?.localizedDescription).")
    }

    func URLSession(session: NSURLSession, didReceiveChallenge challenge: …
Run Code Online (Sandbox Code Playgroud)

ios swift

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

如何在文档目录中获取视频时长

这可能是重复的问题,但我花了很多时间寻求解决方案。我将mp4文件下载到文档目录。我可以使用此功能获取所有文件名:

    func listFilesFromDocumentsFolder() -> [String]?
    {
        let fileMngr = FileManager.default;
        let docs = fileMngr.urls(for: .documentDirectory, in: .userDomainMask)[0].path
        return try? fileMngr.contentsOfDirectory(atPath:docs)
    }
Run Code Online (Sandbox Code Playgroud)

我想获取所有这些文件的时间长度。让我展示一下我尝试的方法:

var downs = listFilesFromDocumentsFolder()!
for i in 0...downs.count - 1{
    if(downs[i] == ".DS_Store"){
                continue
    }
    let fileManager = FileManager.default;
    let urls = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
    if let documentDirectory:NSURL = urls.first as! NSURL as! NSURL{ 
         let yourFinalVideoURL = documentDirectory.appendingPathComponent(downs[i])
         let asset : AVURLAsset = AVURLAsset(url: yourFinalVideoURL!) as AVURLAsset
         let totalSeconds = Int(CMTimeGetSeconds(asset.duration))
         let minutes = totalSeconds / 60 …
Run Code Online (Sandbox Code Playgroud)

avurlasset avasset swift

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

标签 统计

swift ×9

ios ×6

arrays ×1

avasset ×1

avfoundation ×1

avurlasset ×1