どこでもDooor

参加した勉強会 / 読んだ技術書 / 見聞きした備忘録 を気ままに書いていきます

【iOS】デリゲート

デリゲートの設定

今回は完全に忘れないためのメモ。

Objective-C

Sample.h

#import <UIKit>

@class Sample;

@protocol SampleDelegate <NSObject>

- (void)sampleDelegateMethod;

@end

@interface Sample : NSObject

@property (nonatomic, weak) id<SampleDelegate>delegate;

@end

Sample.m

[self.delegate sampleDelegateMethod];

Swift

sample.swift

protocol SampleDelegate: class {
    func sampleDelegateMethod()
}

class Sample: NSObject {
    weak var delegate: SampleDelegate? = nil

    func callDelegateMethod() {
        delegate?.sampleDelegateMethod()
    }
}

最近のプロジェクトではSwiftを使ってるのですが、Swift好きになりますね。
まだ重かったりするみたいですけど、早くメインになってほしいかもしれないです。
Swiftの"?"とか"!"についてまだよくわかっていないので調べないとです...