– (IBAction为)pressedbutton:(ID)发送者
我能否从“发件人”访问用户定义的运行时间属性?
解决方法 是:-(IBAction)pressedbutton:(ID)sender{ ID value = [sender valueForKey:key];}
请注意,您不能使用用户定义的运行时属性,除非您将UIbutton子类化并将其添加为强属性,例如
@interface UInamedbutton : UIbutton@property (strong) Nsstring *keyname;@end
如果您设置了用户定义的运行时间属性,并且您尚未完成此 *** 作,Xcode将不幸的崩溃.
然后,您可以获得该值
-(IBAction)clicked:(UIControl *)sender { Nsstring *test = @"???"; if ( [sender respondsToSelector:@selector(keyname)] ) test = [sender valueForKey:@"keyname"]; NSLog(@"the value of keyname is ... %@",test); // if you FORGOT TO SET the keyname value in storyboard,that will be NulL // if it's NOT a UInamedbutton button,you'll get the "???" // and for example... [self performSegueWithIDentifIEr:@"iduber" sender:sender]; // ...the prepareForSegue Could then use that value in the button. // note that a useful alternative to // if ( [sender respondsToSelector:@selector(stringTag)] ) // is... // if ( [sender respondsToSelector:NSSelectorFromString(@"stringTag")] ) }总结
以上是内存溢出为你收集整理的ios – 如何从“发件人”对象访问用户定义的运行时属性?全部内容,希望文章能够帮你解决ios – 如何从“发件人”对象访问用户定义的运行时属性?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)