यहां एक आसान चाल है जो आप अपने ऑटोलाउट डीबगिंग में सहायता के लिए कर सकते हैं। आप अपनी name
संपत्ति को UIView
पर किसी श्रेणी के माध्यम से जोड़ सकते हैं, और अपने name
को शामिल करने के लिए description
विधि को अधिभारित कर सकते हैं। यह आपको ऑटोलाउट डीबग जानकारी में एक दृश्यमान नाम नहीं देता है, लेकिन आपको आसानी से po
अपने पते से एक दृश्य देखने देता है और उसका नाम देखता है।
तो बस आपके विचार नियंत्रक में लागू नाम आवंटित:
- (void)viewDidLoad {
[super viewDidLoad];
self.firstView.name = @"MyViewController.firstView";
self.secondView.name = @"MyViewController.secondView";
}
अब जब आप कुछ इस तरह देखें:
<NSAutoresizingMaskLayoutConstraint:0x175086220 h=-&- v=-&- UIView:0x147533250.height == UIView:0x14760b4a0.height>
आप कर सकते हैं बस po
दृश्य पते:
po 0x147533250
MyViewController.firstView <UIView: 0x147533250>
po 0x14760b4a0
MyViewController.secondView <UIView: 0x14760b4a0>
यहां श्रेणी कोड है:
UIView + Name.h
#import <UIKit/UIKit.h>
@interface UIView (Name)
@property (strong, nonatomic) NSString *name;
- (NSString *)description;
@end
UIView + Name.m
#import "UIView+Name.h"
#import <objc/runtime.h>
@implementation UIView (Name)
- (NSString *)name {
return objc_getAssociatedObject(self, @selector(name));
}
- (void)setName:(NSString *)name {
objc_setAssociatedObject(self, @selector(name), name, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (NSString *)description {
return [NSString stringWithFormat:@"%@ %@", self.name, [super description]];
}
@end
देखें यहाँ http: // stackoverflow। com/प्रश्न/8295471/स्टोरीबोर्ड-में-युक्त-ए-व्यू-कंट्रोलर-पहचानकर्ता –
@ ओलेग यह केवल व्यू कंट्रोलर के लिए काम करता है। ओपी स्क्रीनशॉट के अनुसार UIView के उदाहरणों के बारे में पूछ रहा है। – Fogmeister