2012-04-15 9 views
1

私はFTP接続でアプリを構築しており、例としてSimpleFTPSampleアプリを使用しようとしています。私はアプリケーションでARCを有効にしていますが、サンプルチュートリアルでは無効になっていません。 NSMakeCollectableと自動解放を取り除いた後ARCを有効にしてCFURLCreateCopyAppendingPathComponentを正しく使用する方法は?

url = [NSMakeCollectable (CFURLCreateCopyAppendingPathComponent 
(NULL, (CFURLRef) url, (CFStringRef) self.dirNameText.text, true) 
) autorelease]; 

1):そのためARCを使用しての

は、私がfollwingコードで問題に遭遇した

url = (CFURLCreateCopyAppendingPathComponent 
(NULL, (CFURLRef) url, (CFStringRef) self.dirNameText.text, true)); 

今、私は3個のARC キャストエラーを持っている : "Objective-Cポインタ型のNSURLからCへのポインタ型 'CFURLRef(...)では、ブリッジされたケースが必要となり、意味上の問題が1つあります:" CFから' NSURL * __ strong ' URLRef '"

のXcodeが示唆するように、私は変換のため__bridgeを使用しますが、私はまだ鋳造エラーの1以下のコードを持つセマンティック・エラーがあります。

url = (CFURLCreateCopyAppendingPathComponent 
(NULL, (__bridge CFURLRef) url, 
(__bridge CFStringRef) self.dirNameText.text, true)); 

を、私は解決策を探しますが、できたてきました正確なフィット感を見つけることはできません。このtutorialに見られるように、私はCFBridgingReleaseを使って自分のコードを変更:

url = CFBridgingRelease(CFURLCreateCopyAppendingPathComponent 
(NULL, (__bridge CFURLRef) url, 
(__bridge CFStringRef) self.dirNameText.text, true)); 

...しかし、アプリはまだEXC_BAD_ACCESS糸で破りました。

私が逃していることが分かっている場合は、教えてください! ありがとうございます!

答えて

1

Core Foundationをまったく使用する必要はありません。試してみてください:

url = [url URLByAppendingPathComponent:self.dirNameText.text isDirectory:YES]; 
+0

ロブ、ありがとうございます!実際、両方のコードは完全に機能します。自分のコードにデリゲートの問題があり、self.dirName.textがnilだったので、それが壊れたのです。 – jeroandris

関連する問題