【问题标题】:Is this right conversion from Swift to Objective C?这是从 Swift 到 Objective C 的正确转换吗?
【发布时间】:2016-07-29 09:42:48
【问题描述】:

迅速

!tempPlays.values.contains(1)

在目标 C 中

(![[tempPlays objectForKey:@"1"] integerValue]) // tempPlays is NSDictionary

这也有帮助吗?

在 SWIFT 中

 button0.setTitle(plays[0] == 0 ? "O": (plays[0] == 1 ? "X" : button0.titleLabel!.text!), forState: UIControlState.Normal)`

在目标 C 中

 [_btn0 setTitle:([[playDictionary objectForKey:@"0"]integerValue] == 0 ? @"O" : ([[playDictionary objectForKey:@"0"]integerValue] == 1 ? @"X" : _btn0.titleLabel.text)) forState:UIControlStateNormal];`

iOS 新手..

【问题讨论】:

  • 请把问题问清楚

标签: ios objective-c swift


【解决方案1】:

在 Objective-C 中

 if (![tempPlays.allValues containsObject:@"1"]) {}

if (![tempPlays.allValues containsObject:@(1)]) {}

为您添加的案例

NSString *titleBtn = _btn0.titleLabel.text;
if ([playDictionary[@"0"] integerValue] == 0) {
     titleBtn = @"0";
}
else if ([playDictionary[@"1"] integerValue] == 1){
   titleBtn = @"X";
}
[_btn0 setTitle:titleBtn forState:UIControlStateNormal];

【讨论】:

  • tempPlays 是 NSDIctionary .values 不是它的属性!
  • 帮助这个也??? button0.setTitle(plays[0] == 0 ? "O": (plays[0] == 1 ? "X" : button0.titleLabel!.text!), forState: UIControlState.Normal) IN SWIFT [_btn0 setTitle: ([[playDictionary objectForKey:@"0"]integerValue] == 0 ?@"O" : ([[playDictionary objectForKey:@"0"]integerValue] == 1 ?@"X" : _btn0.titleLabel.text) ) forState:UIControlStateNormal];在目标 C
  • 请添加新答案或更新此内容,您的代码绝对不可读
  • 把上面的评论改成回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多