समस्याएआरसी के तहत मेरा आईबीओलेट जारी क्यों किया जा रहा है?
एक IBOutlet इससे पहले कि मैं इसका इस्तेमाल करने का मौका दिया जारी किया गया है।
मैं
क्या चाहते हैं मैं तो मैं एक तालिका दृश्य को फिर से लोड कर सकते हैं मेरे ऐप प्रतिनिधि से एक नेविगेशन नियंत्रक का उपयोग करना चाहते हैं।
मेरे सेटअप
मेरे पास है:
- एक Main.xib कि मेरी मुख्य इंटरफेस के रूप में लक्ष्य सेटिंग में
- एक IBOutlet नेविगेशन नियंत्रक के लिए एक इवर के रूप में मेरे एप्लिकेशन प्रतिनिधि पर सेट है
- यह आईबीओलेटलेट मुख्य .xib
- में सही नेविगेशन नियंत्रक तक लगा हुआ है, ऐप प्रतिनिधि को तत्काल में तत्काल ई xib नहीं बल्कि फ़ाइल के मालिक के रूप में स्थापित
मैं एआरसी, Xcode 4.3.2 और iOS5.1 उपयोग कर रहा हूँ
मैं क्या कोशिश की है
- बदलने तैनाती लक्ष्य
- नेविगेशन नियंत्रक, ऐप प्रतिनिधि के लिए डेलोक पर ब्रेक पॉइंट डालने - उन्हें कभी भी
- एआरसी और आईबीऑटलेट्स पर जो कुछ भी मिल सकता है उसे पढ़ना - कुछ भी नहीं लगता है radict क्या मैं
- आवश्यक सिर्फ एक न्यूनतम वर्गों के साथ एक ताजा प्रोजेक्ट बनाया जा कर रहा हूँ - मैं वास्तव में एक ही समस्या
कोड
KPAppDelegate.h
@interface KPAppDelegate : UIResponder <UIApplicationDelegate> {
IBOutlet KPBrowseExpensesNavigationController *nc;
}
@property (strong) IBOutlet KPBrowseExpensesNavigationController *nc;
देखना
KPAppDelegate.m
@implementation KPAppDelegate
@synthesize nc;
-(void)setNc:(KPBrowseExpensesNavigationController *)nc_ {
nc = nc_; // This gets called on view load and nc gets set.
}
...snip...
// This is called about 5 seconds after app startup
-(void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects {
// By the time we get here, nc is nil.
UITableViewController *tvc = [[nc viewControllers] objectAtIndex:0];
[[tvc tableView] reloadData];
}
@end
अद्यतन
मैं यहाँ वास्तव में कुछ मूर्ख कर रही होगी। यहां तक कि एक अविश्वसनीय रूप से सरल परियोजना अभी भी इस समस्या को दिखाती है। नीचे लिंक देखें।
Download a simple test project that shows the problem.
एक प्रश्न का बहुत अच्छा उदाहरण –