यह पहली बार है जब मैं आईओएस 5 और एआरसी के साथ घूम रहा हूं। अब तक, यह अच्छा है, यह काम करता है, लेकिन मैं किसी तरह की समस्या में भाग गया हूं।आईओएस और एआरसी: एसिंक्रोनस ऑपरेशंस के दौरान स्वयं को कैसे बनाए रखें?
मेरे पास एक कस्टम UIStoryboardSegue
है जिसमें मैं अपने ऐप में उपयोगकर्ता को लॉग इन करने के लिए फेसबुक कनेक्ट (या अन्य सेवाएं) का उपयोग करता हूं। सीधे शब्दों में कहें, तो निम्न कार्य करना चाहिए: बटन
- उपयोगकर्ता क्लिक करता है यदि लॉगिन सफल होता है, segue दृश्य नियंत्रक
धक्का क्या बजाय होता है, जिसे प्रवेश शुरू होता है, लेकिन इससे पहले कि यह पूरा करने के लिए किसी भी मौका है segue तुरंत एआरसी द्वारा जारी की है।
मैं एक quick'n'dirty के बारे में सोचा रोकने के लिए हैक इस:
@interface BSLoginSegue() {
__strong BSLoginSegue *_retained_self;
}
@end
// Stuff...
// Other stuff...
- (void) perform {
login();
_retained_self = self;
}
- (void) loginServiceDidSucceed:(BSLoginService *)svc {
...
_retained_self = nil;
}
बात यह वास्तव मेंहैक है, है, इसलिए यदि आपका कोई और थे मैं सोच रहा था, और मैं और भी सुरुचिपूर्ण तरीका कर सकता था?
क्या मैं आपका लॉगिन कोड देख सकता हूं? – jajo87
यदि आप उस मामले को संभालते हैं जहां लॉगिन विफल रहता है, तो मैं व्यक्तिगत रूप से यह एक हैक पर विचार नहीं करता :) –
@ निकएच 247: बेशक, मैं यहां कोड को स्वेच्छा से समझने के लिए सब कुछ छीन लेता हूं;) –