मैंने देखा कि एक्सकोड (या अधिक सटीक ऐप्पल एलएलवीएम कंपाइलर?) को अब आगे की विधि घोषणाओं की आवश्यकता नहीं है। दूसरे शब्दों में, निम्न कोड चेतावनी के बिना बनाता है:चूंकि एक्सकोड को अब आगे की विधि घोषणाओं की आवश्यकता क्यों होती है और क्यों?
@implementation Foo
-(void) foo {
[self bar];
}
-(void) bar {}
@end
यह -foo
में एक चेतावनी कह रही है कि Foo
-bar
करने, सही जवाब नहीं हो सकता है फेंक करने के लिए इस्तेमाल? क्या कंपाइलर अब स्मार्ट है या यह कुछ और है? मैं एक्सकोड 4.3.1 प्लस ऐप्पल एलएलवीएम कंपाइलर 3.1 का उपयोग कर रहा हूं।
क्या आप वाकई '@interface Foo' की शीर्षलेख फ़ाइल से 'बार' घोषणा शामिल नहीं कर चुके हैं? – hamstergene
वास्तव में बहुत यकीन है। – zoul