91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
伊宁县| 确山县| 安吉县| 平凉市| 新邵县| 嘉荫县| 怀仁县| 海晏县| 萨迦县| 富锦市| 将乐县| 磐安县| 山阳县| 平南县| 鄂尔多斯市| 锡林浩特市| 阳曲县| 仪征市| 安溪县| 陆良县| 镇赉县| 邯郸市| 重庆市| 太和县| 百色市| 大英县| 小金县| 天等县| 奉化市| 鄂伦春自治旗| 慈利县| 汉寿县| 绥化市| 乐昌市| 商丘市| 桦甸市| 剑河县| 秦皇岛市| 平塘县| 盐山县| 阳朔县|