中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

iOS中perform+@selector多參數傳遞

iOS
小云
131
2023-09-09 03:14:45
欄目: 編程語言

在iOS中,使用performSelector方法可以調用一個方法,但是只能傳遞一個參數。如果需要傳遞多個參數,可以通過將參數封裝為一個對象的方式來實現。

以下是一個示例代碼:

- (void)methodWithMultipleParameters:(NSString *)param1 param2:(NSInteger)param2 {
NSLog(@"param1 = %@, param2 = %ld", param1, (long)param2);
}
- (void)performSelectorWithMultipleParameters {
NSString *param1 = @"Hello";
NSInteger param2 = 123;
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:@selector(methodWithMultipleParameters:param2:)]];
[invocation setTarget:self];
[invocation setSelector:@selector(methodWithMultipleParameters:param2:)];
[invocation setArgument:&param1 atIndex:2];
[invocation setArgument:&param2 atIndex:3];
[invocation invoke];
}

在performSelectorWithMultipleParameters方法中,我們首先準備需要傳遞的參數param1和param2。然后通過NSInvocation的方式來調用方法methodWithMultipleParameters:param2:。我們使用methodSignatureForSelector方法獲取方法的簽名,然后創建一個NSInvocation對象并設置target、selector和參數。最后通過invoke方法來調用方法。

在methodWithMultipleParameters:param2:方法中,我們可以打印出傳遞的參數值。

參考文檔:

0
丹阳市| 信阳市| 丘北县| 平远县| 青海省| 中西区| 嘉黎县| 澄迈县| 略阳县| 海南省| 彭泽县| 方山县| 灵武市| 东乡县| 利辛县| 广河县| 北碚区| 崇文区| 江油市| 彭水| 松阳县| 房产| 康平县| 娄底市| 东乡族自治县| 兰坪| 军事| 油尖旺区| 辽阳市| 永年县| 绥中县| 郎溪县| 丹阳市| 磐安县| 大洼县| 辽阳县| 娱乐| 嵩明县| 赤水市| 息烽县| 金溪县|