鍍金池/ 問答/C  iOS/ 什么時候用nullable修飾?

什么時候用nullable修飾?

比如AFN的接口:

- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString
                            parameters:(nullable id)parameters
                              progress:(nullable void (^)(NSProgress *downloadProgress))downloadProgress
                               success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                               failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;

里面就有nullable_Nullable 。

你們定義接口的時候也會用到這些關鍵字嗎(我從來沒用過)?什么時候用?

回答
編輯回答
六扇門

nullable 我沒記錯的話是oc為了swift的可選特性做的

2017年11月18日 09:34
編輯回答
法克魷

這個只是為了規(guī)范,不用也可以,當然和swift混編的時候會用到,我只在block的時候用過

2017年7月14日 23:37
編輯回答
別瞎鬧

這個需要看你方法的功能參數(shù)的作用.
以你舉的例子為例.

比如:
1) parameters 表示請求參數(shù) . 這個請求參數(shù)當然可以為空,所以它是 nullable.
2) progress 表示處理請求進度事件的 block, 這當然可以為空,如果你不需要的話,所以它是 nullable.

所以這都是看方法的功能和參數(shù)的使用來設計的.

2017年9月18日 06:55