public static bool LoadNibResourceNamedOwner(this NSBundle bundle, Type type, NSString resourceName, Id owner)
{
bool result = false;
Assembly assembly = type.Assembly;
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
if (stream != null)
{
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, (int)stream.Length);
stream.Close();
String fileName = Path.GetTempFileName();
File.WriteAllBytes(fileName, buffer);
NSNib nib = new NSNib(NSURL.URLWithString(fileName));
NSArray topLevelObjects;
result = nib.InstantiateNibWithOwnerTopLevelObjects(owner, out topLevelObjects);
nib.Release();
File.Delete(fileName);
}
}
return result;
}