मेरे पास मौजूदा नमूना उद्देश्य-सी ऐप है जो सेल्सफोर्स के एसडीके का उपयोग करता है। मैं इसे एक समय में स्विफ्ट वन-क्लास का उपयोग करने के लिए परिवर्तित करने की कोशिश कर रहा हूं। सेल्सफोर्स एसडीके में 'एसएफआरएस्टआरक्वेटएचएच' नामक एक कक्षा है जिसमें 'एसएफआरएस्ट डीलेगेट' प्रतिनिधि है।स्विफ्ट में उद्देश्य-सी में लिखे गए एक प्रतिनिधि विधि का उपयोग करने की कोशिश कर रहा है "प्रोटोकॉल घोषणा नहीं मिल सका"
उद्देश्य सी में, मेरे पास 'रूटव्यूकंट्रोलर एच' नामक एक वर्ग है जो UITableViewController का उप-वर्ग है। यह SFRestDelegate लागू करता है। यह बढ़िया काम करता है।
//RootViewController.h
#import <UIKit/UIKit.h>
#import "SFRestAPI.h"
@interface RootViewController : UITableViewController <SFRestDelegate> {
NSMutableArray *dataRows;
IBOutlet UITableView *tableView;
}
मैं RootViewController ऑब्जेक्टिव-सी वर्ग बदलने के लिए एक RootVC.swift फ़ाइल बनाने के लिए कोशिश कर रहा हूँ।
मैं एक ब्रिजिंग हेडर फाइल है कि उन सभी हेडर कि ऑब्जेक्टिव-सी
//SwiftForce-Bridging-Header.h
#import "SFRestAPI.h"
#import "SFRestRequest.h"
मेरे RooVC.Swift फ़ाइल की तरह दिखता है में आयात किया जाता है का आयात करता है:
import UIKit
class RootVC: UITableViewController,SFRestDelegate {
..
..
}
अब, मैं कमान अगर + SFRestDelegate पर क्लिक करें, यह सही ढंग से प्रोटोकॉल कार्यान्वयन पर जाता है। हालांकि, अगर मैं बनाने की कोशिश, मैं .. "नहीं खोजा जा सका प्रोटोकॉल घोषणा SFRestDelegate त्रुटि
SWIFT_CLASS("_TtC10SwiftForce6RootVC")
@interface RootVC : UITableViewController <SFRestDelegate>
@property (nonatomic) NSArray * dataRows;
- (instancetype)initWithStyle:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)didReceiveMemoryWarning;
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
@end
किसी भी मदद की सराहना आप से ऐप्लिकेशन डाउनलोड करके इसे परीक्षण कर सकते हैं:। https://github.com/rajaraodv/SwiftForce
क्या MyTDelegate एक टाइपो है? – Dash
नहीं। जब मैंने यह लिखा था तो यह सिर्फ एक टाइपो था। –