如果我在类别实现中使用objc_setAssociatedObject/objc_getAssociatedObject将模拟实例变量存储在setter方法中,那么我将如何访问getter方法中的键,因为setter方法中声明的任何变量都不在getter方法的范围内?
编辑:为了澄清,如果我使用以下模式,我应该在哪里声明STRING_KEY,以便我可以在setter和getter方法中使用它.
@interface NSView (simulateVar)
-(void)setSimualtedString:(NSString *)myString;
-(NSString *)simulatedString;
@end
@implementation NSView (simulateVar)
-(void)setSimualtedString: (NSString *)myString
{
objc_setAssociatedObject(self, &STRING_KEY, myString, OBJC_ASSOCIATION_RETAIN);
}
-(NSString *)simulatedString
{
return (NSString *)objc_getAssociatedObject(self, &STRING_KEY);
}
@end
Run Code Online (Sandbox Code Playgroud) 我正在使用UIImage,我有一个Image,我想知道图像的名称.
我想获取当前在UIImageView上显示的图像文件名.我试着得到如下:
let currentImage = alien.image // !alien is my image view
println(currentImage?.description)
Run Code Online (Sandbox Code Playgroud)
但它打印:
Optional("<UIImage: 0x7fa61944c3d0>")
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,用户可以从相机胶卷中选择一个图像,然后将该图像加载到一个UIImageView.但是,如果图像很大,则会出现延迟,直到所选图像实际出现在UIImageView(设置图像未执行,main thread因此UI不会被冻结).在设置图像之前,我想显示一个活动指示器,通知用户应用程序没有冻结,只是加载图像.但是,我不知道如何检测图像何时被设置UIImageView为隐藏活动指示器.我猜也许KVO可以在这里提供帮助,但我不确定如何正确实施它.
抱歉,这个菜鸟问题!:)
我没有从照片库中获取图像名称.这里的任何人都知道获取图像名称的正确方法吗?
注意:PHAsset.fetchAssets(withALAssetURLs: [imageURL], options: nil)这是不推荐使用的.
只有斯威夫特
谢谢
我的问题是有关获取的图像的文件名UIImage是在使用UIImageView。
这是我的示例代码:
// Using image from UIImageObject
imageView1.image = myUIImage
// Using image from XAssets
imageView2.image = UIImage(named: "myImageName")
Run Code Online (Sandbox Code Playgroud)
在 UI 测试中,如何获取图像文件的名称?预期的结果是:
"myUImageObject" // For imageView1
"myImageName" // For imageView2
Run Code Online (Sandbox Code Playgroud)
有没有办法获得这个值?
谢谢大家!
当前有一个带有嵌入式图像的按钮。我想获取按钮的图像名称,以便我可以创建一个UIImage以便在用户单击按钮时进行共享。
我尝试了多种方法,包括
let imagename = sender.currentImage
let image = UIImage(name: imagename)
Run Code Online (Sandbox Code Playgroud)
这将导致错误“呼叫中参数'inBundle'的缺少参数
寻找有关如何进行的指导。我将有许多与此按钮相似的按钮,并且宁愿构建一个功能而不是为每个按钮单独执行操作。
ios ×6
swift ×4
iphone ×2
objective-c ×2
uiimage ×2
xcode ×2
categories ×1
ipad ×1
uiimageview ×1