我想获得用户选择的视频长度.我正在使用苹果UIImagePicker,
这是我目前的代码:
[self dismissModalViewControllerAnimated:YES];
//assign the mediatype to a string
//check the media type string so we can determine if its a video
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
webData = [[NSData alloc]init];
webData = [NSData dataWithContentsOfURL:videoURL];
//[self post:webData];
video = 1;
upload.hidden = NO;
ImagesCopy = [[NSMutableArray alloc]initWithObjects:@"1", nil];
[tableview reloadData];
Run Code Online (Sandbox Code Playgroud)
感谢:D
在这个问题上我需要你幽默我.这有点伪代码,因为实际情况非常复杂.除非我需要,否则我不会以这种方式加载图像.假设我需要.
NSURL *bgImageURL = [NSURL URLWithString:@"https://www.google.com/images/srpr/logo3w.png"];
UIImage *img = [UIImage imageWithData:[NSData dataWithContentsOfURL:bgImageURL]];
[self.anIBOutletOfUIImageView setImage:img];
Run Code Online (Sandbox Code Playgroud)
但我崩溃了
-[__NSCFData _isResizable]: unrecognized selector sent to instance 0x9508c70
Run Code Online (Sandbox Code Playgroud)
如何将URL中的图像加载到NSData中,然后将该NSData加载到UIImage中,并将UIImage设置为UIImageView的图像?
再次,我意识到这听起来像废话,但由于图像缓存系统我正在使用我必须这样做:(
我有最糟糕的互联网连接atm,很抱歉,如果之前有人询问过..
我有一个NSURLConnection来获取一些json数据.到目前为止,使用委托方法didReceiveData:(NSData*)数据来保存接收到的数据非常合适.我正在同时从至少七个不同的页面下载数据.今天,在更新json-pages以包含更多数据之后,NSData对象似乎已损坏.我最近被告知这个代表不会返回整个数据,从而破坏我的信息.
是否有像didFinish这样的另一个委托只返回完整的完整对象?或者我自己必须这样做,比如合并两个NSData?
抱歉愚蠢,语法错误专用于iPhone自动更正.
我发现这个方法将NSData转换为NSString对象.
NSData *data = //some data
NSString *string = [NSString stringWithFormat:@"%@", data];
Run Code Online (Sandbox Code Playgroud)
如何解码数据?被NSUTF8StringEncoding应用?
谢谢!
我想使用writeToFile将pic图像存储到文档中,但是找到下面的错误,如何解决?
Error Domain = NSCocoaErrorDomain Code = 512"操作无法完成.(Cocoa error 512.)"{NSFilePath =/Users/alexqdh/Library/Application Support/iPhone Simulator/6.0/Applications/xxx/Documents/girl.png ,NSUnderlyingError = 0x753e630"操作无法完成.是目录"}
-(NSString*)getImagePath:(NSString *)name
{
NSArray *path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docPath = [path objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *finalPath = [docPath stringByAppendingPathComponent:name];
[fileManager createDirectoryAtPath:finalPath withIntermediateDirectories:YES attributes:nil error:nil];
return finalPath;
}
//below is how to use NSData writeToFile
AFImageRequestOperation *opera = [AFImageRequestOperation imageRequestOperationWithRequest:request imageProcessingBlock:nil
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
img.image = image;
[self.view addSubview:img];
NSData *imageData = UIImagePNGRepresentation(img.image);
if(imageData == nil)
{ …Run Code Online (Sandbox Code Playgroud) NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp4"];
NSLog(@"Path: %@", path);
NSURL *url = [NSURL URLWithString:path];
NSLog(@"URL: %@", url);
NSData *data = [NSData dataWithContentsOfURL:url];
NSLog(@"Data exists? %@", data ? @"yes" : @"no");
Run Code Online (Sandbox Code Playgroud)
test.mp4在我的包中,但这始终是输出
2013-03-13 11:50:29.444 videoAppPrototype[28625:907] Path: /var/mobile/Applications/D66DD820-4DE1-4E45-9495-9BACF130E368/videoAppPrototype.app/test.mp4
2013-03-13 11:50:29.446 videoAppPrototype[28625:907] URL: /var/mobile/Applications/D66DD820-4DE1-4E45-9495-9BACF130E368/videoAppPrototype.app/test.mp4
2013-03-13 11:50:29.448 videoAppPrototype[28625:907] Data exists? no
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但数据从未存在过.
我正在为Stack Exchange API创建一个iOS客户端.经过漫长的战斗,我终于设法实现了身份验证 - 这给了我一个令牌,我坚持使用URL.令牌有效时,URL如下所示:
https://api.stackexchange.com/2.1/me/associated?key=_____MY_SECRET_KEY______&access_token=_____ACCESS_TOKEN_:)_____
Run Code Online (Sandbox Code Playgroud)
当有效时,它会将我带到网页中的这个JSON:
{"items":[{"site_name":"Stack Overflow","site_url":"http://stackoverflow.com","user_id":1849664,"reputation":4220,"account_id":1703573,"creation_date":1353769269,"badge_counts":{"gold":8,"silver":12,"bronze":36},"last_access_date":1375455434,"answer_count":242,"question_count":26},{"site_name":"Server Fault","site_url":"http://serverfault.com","user_id":162327,"reputation":117,"account_id":1703573,"creation_date":1362072291,"badge_counts":{"gold":0,"silver":0,"bronze":9},"last_access_date":1374722580,"answer_count":0,"question_count":4},...
Run Code Online (Sandbox Code Playgroud)
我用这段代码得到了正确的JSON:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://api.stackexchange.com/2.1/me/associated?key=__SECRET_KEY_:)__&access_token=%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"token"]]];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
if (jsonData)
{
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:nil];
}
Run Code Online (Sandbox Code Playgroud)
但是,当我手动使令牌无效时,URL看起来仍然相同,浏览器中的页面显示如下:
{"error_id":403,"error_name":"access_denied","error_message":"`key` is not valid for passed `access_token`, token not found."}
Run Code Online (Sandbox Code Playgroud)
但是,dataWithContentsOfURL:总是零.为什么?我究竟做错了什么?
我得到一个NSError返回:
Error Domain=NSCocoaErrorDomain Code=256 "The operation couldn’t be completed. (Cocoa error 256.)" UserInfo=0x1dd1e9f0 {NSURL=https://api.stackexchange.com/2.1/me/associated?key=key((&access_token=to??ken))}
Run Code Online (Sandbox Code Playgroud) 我有以下内容:
NSURL *apiURL = [NSURL URLWithString:apiURLString];
NSData *apiResult = [NSData dataWithContentsOfURL:apiURL];
Run Code Online (Sandbox Code Playgroud)
如何在加载完成后才触发一些代码?万一它有帮助,我正在尝试执行的代码是一个NSNotificationCenter通知.
我正在通过以下链接重写应用程序:http: //www.raywenderlich.com/12910/how-to-make-a-simple-playing-card-game-with-multiplayer-and-bluetooth-part-3
而且我坚持NSData和那些有关的东西bytes!
0x64代表什么类型?
typedef enum
{
PacketTypeSignInRequest = 0x64, // server to client
PacketTypeSignInResponse, // client to server
...
}
PacketType;
Run Code Online (Sandbox Code Playgroud)
我的枚举应该迅速采用哪种类型?
我遇到的主要问题是:
- (void)rw_appendInt32:(int)value
{
value = htonl(value);
[self appendBytes:&value length:4];
}
- (void)rw_appendInt16:(short)value
{
value = htons(value);
[self appendBytes:&value length:2];
}
- (void)rw_appendInt8:(char)value
{
[self appendBytes:&value length:1];
}
- (void)rw_appendString:(NSString *)string
{
const char *cString = [string UTF8String];
[self appendBytes:cString length:strlen(cString) + 1];
}
Run Code Online (Sandbox Code Playgroud)
我不知道应该如何写这篇文章NSData.
最后但并非最不重要的是,我如何在swift中传递这个'SNAP',因为字符与swift中的字符串几乎相同?
[data rw_appendInt32:'SNAP']; // …Run Code Online (Sandbox Code Playgroud) 我尝试使用NSData转换视频,它与小视频或100mb的视频效果很好,但是我的大文件(4.44Gb)没有发送...
var video_data: NSData?
do {
video_data = try NSData(contentsOfFile: (videoPath), options: NSData.ReadingOptions.alwaysMapped)
} catch let error as NSError {
video_data = nil
return
}
Run Code Online (Sandbox Code Playgroud)
如何将大文件放入NSData?
Error Domain=NSCocoaErrorDomain Code=256 "Impossible d’ouvrir le fichier « D9C7DABF-4BE3-4105-8D76-AA92B1D1502E_video.notsend »." UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/EAE9B4C4-BE6B-490C-BEE7-381B2DF27CC9/Library/LEADS/D9C7DABF-4BE3-4105-8D76-AA92B1D1502E_video.notsend, NSUnderlyingError=0x283be1380 {Error Domain=NSPOSIXErrorDomain Code=12 "Cannot allocate memory"}}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?
提前致谢。
编辑1:要 发送的参数:
这是整个功能。我需要所有这些参数才能发送到我的服务器。我需要在数据值中发送eventId,contactId,类型和文件。问题是我有一个错误,我不知道如何使用InputStream将4.44Go文件放入数据中。
func uploadVideo(_ videoPath: String, fileName: String, eventId: Int, contactId: Int, type: Int, callback: @escaping (_ data:Data?, _ resp:HTTPURLResponse?, _ error:NSError?) -> Void)
{
var video_data: Data
video_data = self.getNextChunk(urlOfFile: NSURL(string: …Run Code Online (Sandbox Code Playgroud)