我试图使用此方法在第一个模态被解除后显示第二个模态...方法本身工作正常,除了它要求我传递一个对象作为参数和我真正想做的事情是传递UIImageControllerSourceType而不是。我应该使用另一种方法来执行此操作,还是有一种简单的方法可以使UIImageControllerSourceType成为对象?我觉得这不应该太难,但我现在已经苦苦挣扎了一段时间......
- (void)showModalTwoImageSearchViewControllerWithSourceType:(UIImagePickerControllerSourceType *)sourceType {
if (self.modalViewController) {
[self performSelector:@selector(showModalTwoImageSearchViewControllerWithSourceType:)
withObject:sourceType
afterDelay:0.1f];
return;
}
// present second modal view - remembering to deal with cases of camera or photo library
if (sourceType == UIImagePickerControllerSourceTypePhotoLibrary) {
//do one thing
}
// lets assume it was UIImagePickerControllerSourceTypeCamera
else {
// do something else
}
}
答案 0 :(得分:1)
UIImagePickerControllerSourceType
最终是NSUInteger
,您尝试执行的方法(performSelector one)仅在其withObject
参数中使用Objective C对象,而不是C类型或指针。
您可以通过创建NSUIntegers
对象并将整数填充到该对象中来传递NSNumber
。
要创建NSNumber
对象,您可以像NSNumber
numberWithUnsignedInteger
方法一样轻松创建对象。
答案 1 :(得分:0)
UIImagePickerControllerSourceType是一个枚举。将它用作对象的最简单方法是使其成为NSNumber:
NSNumber *n = [NSNumber numberWithInt:sourceType];