如何在单独的swift文件中编写函数并将其(导入它)用于我的ViewController.swift文件?我编写了很多代码,所有代码都在ViewController.swift文件中,我真的需要让它看起来很好并将函数放在不同的文件上,以获得更清晰的代码.我有处理解析HTML的函数,处理订购结果的函数,呈现结果,响应用户操作等等.非常感谢任何帮助!
if let htmlString = String(contentsOfURL: checkedUrl, encoding: NSUTF8StringEncoding, error: nil) {
// Parsing HTML
let opt = CInt(HTML_PARSE_NOERROR.value | HTML_PARSE_RECOVER.value)
var err : NSError?
var parser = HTMLParser(html: htmlString, encoding: NSUTF8StringEncoding, option: opt, error: &err)
var bodyNode = parser.body
// Create an array of the part of HTML you need
if let inputNodes = bodyNode?.findChildTags("h4") { //inputNodes is an array with all the "h4" tag strings
for node in inputNodes {
let result = html2String(node.rawContents)
println("Nyheter: \(result)")
}
}
Run Code Online (Sandbox Code Playgroud)
当我将该函数添加到单独的swift文件时,如何使用"速记"在我的ViewDidLoad方法中使用它?一个简短的关键字抓住那块代码并使用它?
简单.您只需在Xcode项目中创建一个新的Swift文件(文件 - 新建 - 文件 - Swift文件或只是⌘-N)并将您的函数和类放在那里.无需在视图控制器文件中导入任何内容,因为两个文件都是同一个包的一部分,因此可以看到彼此的功能和类型(除非标记为私有).
func parseHtml(url: NSURL) -> String { ... your code goes here ... }
Run Code Online (Sandbox Code Playgroud)
你需要使用singletons.
在中创建NSObject User.swift
import Foundation
import UIKit
class User: NSObject {
var name: String = 0
func getName() -> String{
name = "Erik Lydecker"
return name
}
}
Run Code Online (Sandbox Code Playgroud)
然后初始化您的对象并在那里触发该方法.
ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let instanceOfUser = User()
instanceOfUser.getName() // Erik Lydecker
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10843 次 |
| 最近记录: |