我只是在使用Applescript后才开始使用Objective C,而且我似乎无法让FSMountServerVolumeSync工作。这似乎是一个完全初学者的问题,但如何将参数从变量传递给此动作?
让我解释一下:
我想在此操作中使用名为 * username的变量并将其设置为用户名。我也想这样做 * url和url 。从绝对的初学者角度来看,有没有人可以向我展示如何设置它的样本?
我目前正在阅读教程等等,但即使我不完全理解我在做什么,我也想完成这部分代码。 ;)
提前致谢!
[编辑]这是我到目前为止所得到的:
- (IBAction)signin:(id)sender{
NSString * user = @"myusername";
NSString * password = @"mypassword";
NSURL * url = [NSURL URLWithString: @"smb://123.456.789.0"];
NSURL * mountDir = [NSURL URLWithString: @"/Students"];
OSStatus FSMountServerVolumeSync (
CFURLRef url,
CFURLRef mountDir,
CFStringRef user,
CFStringRef password,
FSVolumeRefNum *null,
OptionBits flags);
}
答案 0 :(得分:2)
这些都不是愚蠢的问题。
请记住,CFStringRef和CFURLRef是免费桥接,这意味着Objective C等价物是NSString和NSURL。所有你需要做的就是施展。
- (IBAction)signin:(id)sender{
NSString * user = @"myusername";
NSString * password = @"mypassword";
NSURL * url = [NSURL URLWithString: @"smb://123.456.789.0"];
NSURL * mountDir = [NSURL URLWithString: @"/Students"];
OptionBits flags = 0;
OSStatus err = FSMountServerVolumeSync (
(CFURLRef) url,
(CFURLRef) mountDir,
(CFStringRef) user,
(CFStringRef) password,
NULL,
flags);
if(err != noErr)
NSLog( @"some kind of error in FSMountServerVolumeSync - %ld", err );
}
看看我到目前为止的意思?
关于免费桥接类型的