UISlider 错误:在“__strong id”类型的对象上找不到属性“值”

Posted

技术标签:

【中文标题】UISlider 错误:在“__strong id”类型的对象上找不到属性“值”【英文标题】:UISlider error : Property 'value' not found on object of type '__strong id' 【发布时间】:2019-06-04 04:41:29 【问题描述】:

.h 文件:

@property (strong, nonatomic) IBOutlet UISlider *sliderr;
@property (strong, nonatomic) IBOutlet UILabel *lbl2;

.m 文件:

- (IBAction)slidersact:(id)sender 
    self.lbl2.text = [NSString stringWithFormat:@"%.0f", sender.value];
                                                      [error with ^^]


- (void)viewDidLoad 
    [super viewDidLoad];

    self.sliderr.minimumValue = 0.0f;
    self.sliderr.maximumValue = 100.0f;
    self.lbl2.text = @"0";

错误:

在“__strong id”类型的对象上找不到属性“值”

【问题讨论】:

【参考方案1】:

id 是任何对象,您需要使用您的控件名称来标识您的对象,例如- (IBAction)slidersact:(UISlider *)sender 而不是- (IBAction)slidersact:(id)sender

 - (IBAction)slidersact:(UISlider *)sender 
  self.lbl2.text = [NSString stringWithFormat:@"%.0f", sender.value];

【讨论】:

或者把sender.value改成[sender value] (IBAction)slidersact:(UISlider *)发送它的工作...谢谢很多

以上是关于UISlider 错误:在“__strong id”类型的对象上找不到属性“值”的主要内容,如果未能解决你的问题,请参考以下文章

不兼容的块指针类型将“int (^)(__strong id, __strong id)”发送到“NSComparator”类型的参数

Xcode:在 UISlider 中没有更多上下文错误的表达式类型不明确

UISlider 最小和最大轨道色调清除颜色 iOS 7.1 错误

XCode 8 Beta 6 中引入的 UISlider 错误的解决方法?

使用 UISlider 更新 UILabel 会为 Sender 调用抛出“未解析的标识符”错误

在 Swift 中使用 UISlider 以编程方式更改 UILabel