Objective C Обратный вызов по конкретному событиюIOS

Программируем под IOS
Ответить
Anonymous
 Objective C Обратный вызов по конкретному событию

Сообщение Anonymous »

Я новичок в цели C и пытаюсь разработать свою собственную функцию обратного вызова, функция обратного вызова вызывается при определенном событии, например, при получении данных из сети, как это делает NSURLprotocol, и после получения она NSLog выдает сообщение «Событие произошло» или отображает в виде текста в UIViewController или любое действие, связанное с UI.

Итак, я полностью запутался относительно того, где следует вызывать eventOccuredMethod, чтобы можно было вызвать getController и выполнить реализацию внутри него.

Я раньше использовал такие протоколы, как NSURLProtocol, но не знаю, как их реализовать для вызова таких обратных вызовов.

Любые ссылки на видео, ответы, ссылки на статьи приветствуются.

//Sample.h file
#import
@class Sample;
@protocol SampleProtocol
-(void)receivedCallback;
@end

@interface Sample : NSObject
@property (nonatomic,weak) id delegate;
-(void)eventOccured;
@end


//Файл Sample.m

#import "Sample.h"

@implementation Sample
-(void)eventOccured{
if([_delegate conformsToProtocol:@protocol(SampleProtocol)])
[_delegate receivedCallback];
}
@end


//Файл ViewController.h

@interface ViewController : UIViewController

@end


//Файл ViewController.m

#import "ViewController.h"

@interface ViewController (){

Sample *s;
}

@end

@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
s = [[Sample alloc] init];
s.delegate = self;
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

-(void)receivedCallback:(Sample *)sample{
NSLog(@"Event Has Occured");
}

@end


Я не уверен в следующем вызове, который делаю...

- (void)applicationDidEnterBackground:(UIApplication *)application {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
Sample *s = [[Sample alloc] init];
;
}


Подробнее здесь: https://stackoverflow.com/questions/279 ... ular-event
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»