2015-04-23 174 views
0

我有班级viewcontroller。在另一个类中,SigViewController,我有一个捕获签名图像的函数。我想调用viewcontroller类中的函数(具体在IBAction中)。在另一个班级中调用一个班级的功能 - swift

viewcontroller我有以下几点。

@IBAction func sigsave(sender: AnyObject) { 
    SigViewController().getSignature() 
} 

SigViewController功能是...

func getSignature() ->UIImage { 
    UIGraphicsBeginImageContext(CGSizeMake(self.bounds.size.width, 
     self.bounds.size.height)) 
    self.layer.renderInContext(UIGraphicsGetCurrentContext()) 
    var signature: UIImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 
    println("saved image") 
    return signature 
} 

viewcontroller将返回未解决的标识符SigViewController的错误使用`。

感谢您的任何帮助。

+0

似乎并不是函数'getSignature()'是UIViewController类的一个实例方法。显示这个函数所在的类。 – Leo

回答

1

getSignature()是一个实例函数,因此您需要制作一个SigViewController类的实例来调用它。如果将函数标记为类函数,则可以使用语法ClassName.FunctionName()在另一个类中调用类函数。但是当你这样做时,你无法访问任何非类级别的实例变量。

正则函数就像Objective-C中的方法,类函数就像+函数一样。

+0

非常感谢您的评论,但我不认为我足够了解swift的足够关注。我阅读了一些苹果文档,并混淆了一些公共/内部类,但是我所有的努力仍然产生了错误。基本上我不确定你的意思是“让一个SigViewController类的实例调用它”。 –

+0

如果你还没有遇到类的创建对象,我真的建议看看* Swift编程语言*(https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language /),它是完全免费的,并会带你通过你需要知道的一切开始!如果你知道自己在做什么,它会让你更有效率,而不是乱搞。 – ABakerSmith

相关问题