Xamarin

Xamarin.iOS에서 BundleResource 존재유무 확인하기

길버트리 2014. 12. 30. 21:54

키 포인트는 NSBundle.MainBundle.PathForResource를 호출하여 

결과가 null이면 리소스가 존재하지 않는 것이고,

결과가 어떤 문자열이면 그 리소스가 존재하는 것이다.


일단 아래에 필자의 기준에서 사용하기 쉽게 구현한 메서드 하나를 붙여넣었다.

리팩토링할 여지를 많이 가지고 있는 메서드이므로 여러분에게 재미를 양보하였다.


public bool ExistsBundleResource(string relativePath, string fileNameOnly, string extension)
{
	string resourceName = Path.Combine (relativePath, fileNameOnly);
	var resourcePath = NSBundle.MainBundle.PathForResource (resourceName, extension);
	return resourcePath != null;
}


사용 예: MyImage/abcd.png, Resources/MyImage/abcd.png의 존재유무를 확인하는 경우?


if (ExistsBundleResource("MyImage", "abcd", "png")) {
...
}