不能援引“setScore”类型的参数列表“(智力)”
我是很新的雨燕与合作,有一个问题: 我有两个班在我WatchKit应用。不能援引“setScore”类型的参数列表“(智力)”
第1类:
func setScore(inputScore: Int) {
scoreLabel.setText(String(inputScore))
}
...和2类应该有机会获得本功能:
var countNumber = 0
...
self.presentControllerWithName("scorePage", context: self)
scorePage.setScore(countNumber)
但我总是得到一个错误:cannot invoke 'setScore' with an argument list of type '(Int)'
我不知道如何解决这一问题,这将是巨大的,如果有人能帮助我:) 感谢
我不知道什么是你究竟想做,但我相信你想从一个WKInterfaceController到其他WKInterfaceController传递数据,因此你可以使用上下文:
self.presentControllerWithName(“scorePage”,语境:countNumber )
一旦你在接收器WKInterfaceController你应该得到countNumber重写awakeWithContext:FUNC(上下文VAR应该有现在countNumber值),然后你可以设置比分: self.setScore(上下文)
PS不要忘了从AnyObject以“铸造”的背景值,为int
实施例使用的OBJ-C和一个NSNumber代替INT:
在原点类:
[self pushControllerWithName:@"scorePage" context:countNumber];
在目的地类
:
- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
if ([context isKindOfClass:[NSNumber class]]) {
NSNumber *num = (NSNumber *)context;
[self setScore:num];
}
}
我是试图用你提供的少量信息来帮助你,为什么你把我的答案放错了? – CarlosGz
不,我没有把它投下来 – user5185447
对不起,所以希望我的回答可以帮助你 – CarlosGz
这有点一射在黑暗中....
使用setXXX
如在从一个Objective-C类继承的类的功能名可能会有问题,因为它看起来像Objective-C属性的setter。
事实上,我会重构这个趁雨燕例如功能
class MyClass
{
var score: Int = 0
{
didSet
{
scoreLabel.setText(String(score))
}
}
// everything else
}
,并调用这样
self.presentControllerWithName("scorePage", context: self)
scorePage.score = countNumber
假如你初始化之前的2 Class类? – CarlosGz
我有:class class2:WKInterfaceController {...' – user5185447
“scorePage”var已被正确初始化?你可以通过它访问其他类的方法吗? – CarlosGz