亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
昌吉市| 兴宁市| 灵武市| 昔阳县| 中宁县| 永修县| 平度市| 西盟| 泸西县| 嘉荫县| 原平市| 朔州市| 垣曲县| 金昌市| 通海县| 三明市| 澎湖县| 咸宁市| 财经| 阳山县| 磴口县| 汉源县| 庆元县| 吉安县| 顺昌县| 偃师市| 田东县| 崇州市| 桐城市| 池州市| 桃园县| 波密县| 阳新县| 隆化县| 嘉峪关市| 建水县| 舞钢市| 昌江| 天长市| 湟源县| 河津市|