我刚刚意识到我在Xcode NSData Class参考中丢失了30分钟如何在objc中执行此操作(对不起,我在C中解释这个,因为这是唯一没有考虑太多的语言):
#define MAX_SIZE_BUFFER 500
byte *ptr;
ptr = malloc(MAX_SIZE_BUFFER * sizeof(byte));
memset(ptr, 0, MAX_SIZE_BUFFER);
Run Code Online (Sandbox Code Playgroud)
我开始像这样编码,但从未发现如何初始化MAX_SIZE_BUFFER并以智能方式将所有字节设置为0:
#define MAX_SIZE_BUFFER 500
NSData *ptr
ptr = [[[NSData] alloc] init]; // impossible to specify MAX_SIZE_BUFFER in the allocation.
Run Code Online (Sandbox Code Playgroud)
因此,我告诉自己,让我们使用类方法,如:
+ data
+ dataWithBytes:length:
+ dataWithBytesNoCopy:length:
+ dataWithBytesNoCopy:length:freeWhenDone:
+ dataWithContentsOfFile:
+ dataWithContentsOfFile:options:error:
+ dataWithContentsOfMappedFile:
+ dataWithContentsOfURL:
+ dataWithContentsOfURL:options:error:
+ dataWithData:
Run Code Online (Sandbox Code Playgroud)
但是没有一个能够实现alloc和blank init.
例如:+ dataWithBytes:length:要求创建备用C缓冲区并将其作为方法的参数给出.
我应该认为自己像个白痴,还是像个坏的程序员?
说真的,你有一个聪明而简单的方法吗?
Apple92
我是iOS新手.
NSData的:
{
"results" : [
{
"formatted_address" : "Proyezd Voskresenskiye Vorota, 3, Moscow, Russia, 109012",
"geometry" : {
"location" : {
"lat" : 55.75622380,
"lng" : 37.61855850
}
Run Code Online (Sandbox Code Playgroud)
我只需要"formatted_address",你能帮我制作一个NSString,其中将是地址吗?抱歉愚蠢的问题.
我正在尝试创建一个具有唯一名称的文件并在后台向其中写入数据。
mktemp说Whenever it is possible, mkstemp() should be used instead, since it does not have the race condition.
mkstemp在打开的文件描述符中使用结果,因此dispatch_write似乎很明显。
现在NSData必须包裹在dispatch_data_tusing中dispatch_data_create。必须注意释放需要释放的内存,保留必须保留的内存。在 ARC 下,这一点不太明显。
+ (void) createUnique:(NSData*)content name:(NSString*)name
extension:(NSString*)extension
completion:(void (^)(NSURL* url, NSError* error))completion {
dispatch_queue_t queue = dispatch_get_global_queue(
DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
dispatch_data_t data = dispatch_data_create(content.bytes, content.length,
queue, ^{});
// dispatch_data_create() copies the buffer if DISPATCH_DATA_DESTRUCTOR_DEFAULT
// (= NULL) is specified, and attempts to free the buffer if
// DISPATCH_DATA_DESTRUCTOR_FREE is specified, …Run Code Online (Sandbox Code Playgroud) 我是 IOS 的新手,我正在制作一个项目,在该项目中我从 Web 服务接收 Base64 数据。如何将 Base64 数据转换为字符串以及如何在 swift 中打开 pdf 视图,并检查 iPhone 中是否安装了任何 pdf 所有者应用程序。我想知道如何在字符串 swift 中转换 NSDATA。帮我举例,例如这是Base64数据JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nLVcza8ct5GH1rK9ejIU24lkO5GtJ8vWm5E87eY3uXtbYLHAYi8 JdItySrABAjhA8v8fUuwmu35kF2fmxbsWDMxjk8VisapYX+TfbudJ6ds5/6s//vj
就像这样 nsdata <25504446 2d312e34 0a25c7ec 8fa20a35 2030206f 626a0a3c 3c2f4c65 6e677468 20362030 20522f46 696c7465 72202f46 6c617465 44 65636f 64653e3e 0a737472 65616d0a 789cb55c cdaf1cb7 9187d6b2 bd7a3214 db89643b 91ad27cb d69b913c
我目前正在处理音频样本。我从 AVAssetReader 获取它们并有一个CMSampleBuffer类似这样的内容:
guard let sampleBuffer = readerOutput.copyNextSampleBuffer() else {
guard reader.status == .completed else { return nil }
// Completed
// samples is an array of Int16
let samples = sampleData.withUnsafeBytes {
Array(UnsafeBufferPointer<Int16>(
start: $0, count: sampleData.count / MemoryLayout<Int16>.size))
}
// The only way I found to convert [Int16] -> [Float]...
return samples.map { Float($0) / Float(Int16.max)}
}
guard let blockBuffer = CMSampleBufferGetDataBuffer(sampleBuffer) else {
return nil
}
let length = CMBlockBufferGetDataLength(blockBuffer)
let sampleBytes = UnsafeMutablePointer<UInt8>.allocate(capacity: length) …Run Code Online (Sandbox Code Playgroud) 我有一个创建自己的子类的问题NSData,我希望有一个自定义description方法.甚至创建一个虚拟NSData子类:
@interface MyData : NSData {}
@end
Run Code Online (Sandbox Code Playgroud)
和
@implementation MyData
@end
Run Code Online (Sandbox Code Playgroud)
并使用它会导致奇怪的错误(使用它的函数永远不会退出,并且控制会以某种方式返回到运行循环).我想也许我负责重写NSData(调用super实现)的指定初始化器,但是在doc中没有提到.所以:
NSData?NSData多少?我有NSData,我需要以纯位查看其内容.试过NSLog [NSData description]但它返回NSString.有什么建议?
基本上,我有一个46个字符的NSString,我转换为NSData.我需要将字符串填充为48个字符.它只是在NSString的末尾加上''才能起作用.所以,我只是增加了NSData的长度:
NSString *string = @"__46characterlongstring__";
NSData *d = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"d: %@", d);
NSData *data = [NSData dataWithBytes:[d bytes] length:48];
NSLog(@"data: %@", data);
Run Code Online (Sandbox Code Playgroud)
名为'd'的NSData返回<723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f32>
名为'data'的NSData返回<723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f32_ >,其中_是4个随机字符(通常是数字)
我怎样才能确保'数据'返回<723d6c67 6e267573 65726e61 6d653d64 61766964 77617473 6f6e3936 26706173 73776f72 643d736e 30307079 6f320000> - 4 0而不是4个随机字符?
谢谢.
我有两个UIImageViews.我想通过脚本将两个图像发布到服务器.在此之前,我必须将这些图像数据和数据转换成字符串,但我不知道如何将图像从转换UIImageView到NSData和NSData到NSString.我已经提到的所有代码,但它不工作.我还想知道在我的代码中应该在哪里声明转换编码(图像到数据和数据到图像)?
这是我实施的
.h部分
#import <UIKit/UIKit.h>
#import "GlobalAccessClass.h"
#import <QuartzCore/QuartzCore.h>
@interface AskQuestionHome : UIViewController<UITextViewDelegate,UITextFieldDelegate,UIImagePickerControllerDelegate,UIActionSheetDelegate>
{
}
@property (strong, nonatomic) IBOutlet UIImageView *imgSecondImg;
@property (strong, nonatomic) IBOutlet UIImageView *imgFirstImg;
@property (strong, nonatomic) IBOutlet UITextView *txtviewAsk;
-(IBAction)postbutton:(id)sender;
@property (nonatomic,retain) NSString *datestr;
@property(nonatomic,retain) NSData *imageData;
@property(nonatomic,retain) NSString *postLength;
@end
Run Code Online (Sandbox Code Playgroud)
.m部分
-(void)post
{
NSMutableURLRequest *mutableurlrequest = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:@"http://www.alvinchuastudios.com/aNSWERED/insert_question.php"]];
// create the Method "POST" For POSTING the QUESTIION with IMAGES
[mutableurlrequest setHTTPMethod:@"POST"];
NSLog(@"the email is:%@",manage.transformEmail);
NSLog(@"the cat …Run Code Online (Sandbox Code Playgroud) 我试图从sqlite读取blob数据,但我收到Extra argument 'bytes' in call错误.
这是我的代码:
var len = sqlite3_column_bytes(compiledStatement, 0)
var point = sqlite3_column_blob(compiledStatement, 0)
var dbData:NSData? = NSData(bytes: point, length: len)// ERROR: Extra argument 'bytes' in call
if dbData != nil
{
arrDataRow.addObject(dbData!)
}
Run Code Online (Sandbox Code Playgroud) nsdata ×10
ios ×4
iphone ×4
objective-c ×4
swift ×3
audio ×1
avfoundation ×1
base64 ×1
bit ×1
blob ×1
buffer ×1
cocoa ×1
cocoa-touch ×1
nsarray ×1
nsstring ×1
pdf-viewer ×1
sqlite ×1
uiimageview ×1