問題タブ [nsfilehandle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - ファイルに徐々に書き込むときのメモリ消費を最適化する
私はいくつかのテストを行ってきましたが、私のニーズの 1 つは、さまざまな xml ファイルからデータを読み取り、それを 1 つのファイルにまとめることです。私はこれを達成することができましたが、メモリ消費はタスクに対してかなり大きいようです.iPhoneシミュレーターはメモリ警告さえ発しませんでしたが、実際のiPhoneがこれを許容するとは思いません.ここで試してみるためのデバイスなので、私が読んだことからほとんど推測しています)。
(の主要部分) コードは次のようになります。
「Build and Analyze」コマンドを使用すると、リークなどは発生せず、ビルド時にコードで警告が発生することはありませんが、それでもメモリ消費量は 50 ~ 70 MB になります (ライブ バイトを考慮すると、全体的にはほぼ 2 倍になります)。
明らかに、同じファイルを 100 回読み取るという考えではありませんが、コードは xml ファイルからコンテンツを読み取って、受信した順序でファイルに送信するだけでよいため、テスト データとしては十分です。
新しいオブジェクトが割り当てられる前に、いくつかの一時オブジェクトを強制的に解放する方法はありますか?いくつかの変数を再利用しようとすることはできますか?これを制御下に置くのに役立つアイデアは大歓迎です。
編集- 物事をもう少し面白くするために: 単一のパーサーで読み取りと書き込みを行う方がよいでしょう。それによって、GDataXML を使い続けるか、変更が必要な場合は KissXML、TinyXML を使用するのが最善です。または libxml - DOM は、ここで述べたように、すべて少し多くのメモリを消費しているように見えるため、メモリの解放を強制する方法があれば、それが最適です。
前もって感謝します :)
objective-c - Cocoa Createfileapath
I am trying to create a file on mac os. the data from the file will be accessed by the app. but how to create a file having read permission on all accounts. Currently the app can read data in admin account only. I am using following syntax:
BOOL B = [fm createFileAtPath:p1 contents:data attributes:nil];
is it something to do with attributes so that it can be read by all the users but can be modified by admin only.
thank you.
Here is the output of the ls -dl
is it because I am creating file in system/library, if so which is the best place to create a file so that it will be readable by all users but can be modified by admin only.
thank you
cocoa-touch - NSFileHandle fileHandleForWritingAtPath:nullを返します!
私のiPadアプリには小さなダウンロード機能があり、NSFileHandleを使用してデータを追加したいと思います。問題は、作成呼び出しがnullファイルハンドルのみを返すことです。何が問題なのですか?これが私のファイルハンドルを作成することになっている3行のコードです:
ファイルパスを確認したところ、何も問題はありませんでした。
TYIA
objective-c - NSFileHandleから1行ずつデータを読み取る方法は?
与えられたデータを含むテキストファイルがあります
例えば
次に、データを1行ずつ読み取ります。つまり、最初に読みたい
そして次に残ります。誰かが何か考えがありますか?
objective-c - Xcode アプリのバージョンが Mac OS X バージョンと互換性がない
Os X 10.6.4 と X コード バージョン 3.2.3 を使用して単純なアプリ ファイルを開発し、PackageMaker を使用してこれらのアプリ ファイルを配布しています。しかし、他の Mac でパッケージを実行しようとすると、パッケージが実行中の Os X と互換性がなく、ファイルがインストールされないというエラーが表示されます。これは X コードの問題ですか、それともパッケージ メーカーの問題ですか。再投稿して申し訳ありませんが、ベース SDK を 10.5 に変更してみましたが、開発に使用している Mac (Mac OS X 10.6.4) でコンパイルされ、正常に実行されましたが、OS X 10.5 を実行している Mac にインストールすると、.app ファイルがグレーアウトし、「このバージョンのアプリケーションはこのバージョンの Mac では使用できません」というメッセージがポップアップ表示されました。なぜこれが起こっているのですか?また、前述のように、フォームからユーザーの日付を受け取り、それをテキスト ファイルに書き込むために IBOutlet を使用しています。
iphone - NSData チャンクを使用した Base64 エンコード ファイル
更新 4
Greg の提案に従って、100k チャンクを使用して、37k 画像から base64 エンコードへの出力を示す画像/テキストのペアを 1 つ作成しました。ファイルはわずか 37k であるため、ループは 1 回だけ繰り返され、何も追加されなかったと言っても過言ではありません。もう 1 つのペアは、10k チャンクを使用して base64 でエンコードされた、同じ 37k 画像からの出力を示しています。ファイルは 37k であるため、ループは 4 回繰り返され、データは確実に追加されました。
2 つのファイルの diff を実行すると、10kb のチャンク ファイルでは、214 行目から 640 行目までに大きな違いがあることがわかります。
- 小さな画像 (37k) - 100k チャンク - 画像出力
- 小さな画像 (37k) - 100k チャンク - Base64 テキスト出力
- 小さな画像 (37k) - 10k チャンク - 画像出力
- 小さな画像 (37k) - 10k チャンク - Base64 テキスト出力
更新 3
これが私のコードの現在の場所です。少しクリーンアップしましたが、それでも同じ効果が得られます:
Update 2
つまり、100 KB を超えるファイルはスクランブルされるように見えますが、100 KB 未満のファイルは問題ありません。私のバッファ/数学/その他で何かがずれていることは明らかですが、これについては迷っています。もう終わりかもしれませんが、この問題を解決して眠りたいです。
次に例を示します。
更新 1
いくつかのテストを行った後、同じコードが小さな画像では正常に機能することがわかりましたが、大きな画像や任意のサイズのビデオでは機能しません。間違いなくバッファの問題のようですね。
やあ、大きなファイルを base64 でエンコードしようとして、一度に 1 つの小さなチャンクをループして実行しようとしています。すべてが機能しているように見えますが、ファイルは常に破損してしまいます。ここで私が間違っている可能性がある場所を誰かが指摘できるかどうか、私は興味がありました:
objective-c - NSFileHandle fileHandleForReadingFromURL誰かが私にこれを説明してもらえますか?
ここでは、Dave DeLongによるものに基づいてカスタマイズされた入力ストリームを作成しようとしています。これにより、NSURLを介してサーバーからデータを読み取ることもできます。これまでのところ、私はこのアプローチを採用しています。これはローカルファイルに対して正常に機能します。
そして私の実装:
問題は、私がそれをこのように使おうとすると、次のようになります。
s
NSFileHandle
によって返される[NSFileHandle fileHandleForReadingFromURL:remoteURL]
は、エラーなしで常にnilを返すように見えるため、常に空になります。
これは私のコードのバグですか、それとも彼らのコード化されていない機能ですか?
ありがとう
iphone - ソケット、パイプ、デバイスとは?
Appleの低レベル ファイル管理プログラミング トピックを勉強しています。NSFileHandle セクションでは、次のように述べています。
NSFileHandle のスコープはファイルに限定されません。これは、ソケット、パイプ、およびデバイスによって実装されたものなどの通信チャネルに対して読み書きできる唯一の Foundation オブジェクトを提供します。
それはいいです!NSFileManager を介してソケットに話しかけることができます。ソケットはそのデータを Web サーバーに転送し、リモートで直接ファイルをいじりますか?
誰かがこれで何ができるかを理解しやすい例を挙げてもらえますか?
- 「ソケット」と通信するときは?
- 「パイプ」と通信するときは?
- 「デバイス」と通信するときは?
注: ソケット、パイプ、デバイスについては何も知りません。また、デバイスとは、iPhone 自体を意味するものではないと確信しています。私はネットワークのことには詳しくありません。でも、それを学びたい!!これらが何であるかを簡単に説明していただけますか?
iphone - -fileHandleForWritingAtPath: と fileHandleForUpdatingAtPath: の違いは?
私にとっては、同じことのように聞こえます。ファイルの更新は、ファイルへの書き込みを意味します。ファイルへの書き込みも私にとっての更新です。でも微妙な違いはあると思います(-_-;)
誰か知っていますか?
iphone - 通信チャネルとは正確には何ですか?
NSFileHandle APIのドキュメントを見ると、ソケットなどについて話しているネットワークメソッドがたくさんあることがわかります...
上部に、彼らは言います:
NSFileHandleオブジェクトは、開いているファイルまたは通信チャネルにアクセスするためのオブジェクト指向ラッパーを提供します。
ここでの「通信チャネル」とは何ですか?ネットワーキング忍者ではない人のためにそれを説明するいくつかの実用的な例はありますか?