Tag: objective c

使用AFNetworking 2.0上传图像

这个我正在撞墙。 我想从库中selectUIImage并将其上传到服务器,就像使用<form action="http://blabla.request.cfm" method="post" enctype="multipart/form-data"> 。 而不是成功,我得到了这个错误: 错误=错误域= NSCocoaErrorDomain代码= 3840“操作无法完成。(cocoa错误3840.)”(JSON文本没有开始数组或对象和选项允许片段不设置。)UserInfo = 0x145e5d90 {NSDebugDescription = JSON文本没有以数组或对象和选项开始,以允许片段未设置。} 我试过这种方式: -(void)uploadPhoto{ NSString *path = @"http://blabla.request.cfm"; NSData *imageData = UIImageJPEGRepresentation(self.imageView.image, 0.9); int priv = self.isPrivate ? 1 : 0; NSDictionary *parameters = @{@"username": self.username, @"password" : self.password, @"private" : @(priv), @"photo" : imageData}; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:path […]

Grand Central Dispatch(GCD)与performSelector – 需要更好的解释

我已经在我的应用程序中使用了GCD和performSelectorOnMainThread:waitUntilDone,并且倾向于认为它们是可互换的 – 也就是说,performSelectorOnMainThread:waitUntilDone是GCD C语法的Obj-C包装器。 我一直在想这两个命令是等价的: dispatch_sync(dispatch_get_main_queue(), ^{ [self doit:YES]; }); [self performSelectorOnMainThread:@selector(doit:) withObject:YES waitUntilDone:YES]; 我错了吗? 也就是说,performSelector *指令和GCD指令是否有区别呢? 我已经阅读了很多关于它们的文档,但是还没有看到明确的答案。

目标C:如何为UIButton和UILabel旋转文本?

如何为UIButton和UILabel旋转文本? 90度,180度 谢谢

你如何设置你的Cocoa应用程序作为默认的Web浏览器?

你如何设置你的Cocoa应用程序作为默认的Web浏览器? 我想创build一个默认启动的应用程序,当用户点击其他应用程序(Mail,iChat等)中的HTTP或HTTPS链接时。

目标C:如何使用HTTP POST上传图片和文字?

我已经成功创build了两种不同的方法,其中每个方法都可以上传图像或文本。 但我有问题写一个方法,可以同时发布文本和图像! //这里是我的新方法女巫工作很好thanx @sgosha: – (void) upload { NSString *urlString = @"http://www.examplescript.com"; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setURL:[NSURL URLWithString:urlString]]; [request setHTTPMethod:@"POST"]; NSMutableData *body = [NSMutableData data]; NSString *boundary = [NSString stringWithString:@"—————————14737809831466499882746641449"]; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary]; [request addValue:contentType forHTTPHeaderField:@"Content-Type"]; // file NSData *imageData = UIImageJPEGRepresentation(imageView.image, 90); [body appendData:[[NSString stringWithFormat:@"–%@\r\n", boundary] […]

embeddedYouTubevideo

我已经通过在互联网上find的代码片段embedded了来自YouTube的video,以下是我使用的代码: @interface FirstViewController (Private) – (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame; @end @implementation FirstViewController – (void)viewDidLoad { [super viewDidLoad]; [self embedYouTube:@"http://www.youtube.com/watch?v=l3Iwh5hqbyE" frame:CGRectMake(20, 20, 100, 100)]; } – (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame { NSString *embedHTML = @"\ <html><head>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: white;\ }\ </style>\ </head><body style=\"margin:0\">\ <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>"; NSString *html […]

CAGradientLayer,不好调整,撕裂旋转

我试图让我的CAGradientLayers,我用来创build漂亮的渐变背景,很好地调整旋转和模态视图呈现,但他们不会玩球。 这里是我刚刚创build的video,显示我的问题:注意旋转的撕裂。 另外请注意,这个video是通过在OS X上拍摄iPhone模拟器创build的。我放慢了video中的animation以突出显示我的问题。 问题的video… 这里是我刚刚创build的Xcode项目(这是video中显示的应用程序的源代码),基本上如图所示,问题发生在旋转,特别是当视图模式地呈现时: Xcode项目,模式呈现与CAGradientLayer背景的意见… 为什么这是值得我明白,使用: [[self view] setBackgroundColor:[UIColor blackColor]]; 做一个合理的工作,让过渡更无缝,更不刺激,但是如果你看着video,而我目前处于横向模式,模态地呈现一个视图,你会明白为什么上面的代码不会帮助。 任何想法我可以做什么来解决这个问题? 约翰

UITableView问题,当使用单独的委托/数据源

一般说明: 要开始工作,我有一个UITableView已被放置到使用Interface Builder的Xcode生成的视图。 视图的文件所有者被设置为UIViewController的Xcode生成的子类。 在这个子类中,我添加了numberOfSectionsInTableView: tableView:numberOfRowsInSection:工作实现numberOfSectionsInTableView: tableView:numberOfRowsInSection:和tableView:cellForRowAtIndexPath:的dataSource和delegate通过Interface Builder中的File Owner连接到这个类。 以上configuration没有问题。 当我想把这个Table View的dataSource和delegate -implementations移出到一个单独的类时,就会出现这个问题,很可能是因为除了Table View之外,View上还有其他控件,我想移动Table View相关的代码到自己的class级。 要做到这一点,我尝试以下几点: 在Xcode中创build一个新的UITableViewController子类 将numberOfSectionsInTableView: , tableView:numberOfRowsInSection:和tableView:cellForRowAtIndexPath:的已知好的实现移动到新的子类 将UITableViewController拖到InterfaceBuilder中现有 XIB的顶层,删除为此UITableViewController自动创build的UIView / UITableViewController ,然后设置UITableViewController的类以匹配新的子类 删除以前工作的UITableView的现有dataSource和delegate连接,并将它们连接到新的UITableViewController 完成后,我没有工作的UITableView 。 我最终得出了三个结果中的一个,这些结果可能是随机发生的: 当UITableView加载时,我得到一个运行时错误,指示我正在发送tableView:cellForRowAtIndexPath:一个对象,它不能识别它 当UITableView加载时,项目没有错误地进入debugging器 没有错误,但UITableView没有出现 通过一些debugging和创build一个基本的项目来重现这个问题,我通常看到上面的第三个选项(没有错误,但没有可见的表视图)。 我添加了一些NSLog调用,发现虽然numberOfSectionsInTableView:和numberOfRowsInSection:都被调用, cellForRowAtIndexPath:不是。 我相信我错过了一些非常简单的东西,希望对于那些比我有更多经验的人来说,答案可能是显而易见的。 如果这不是一个简单的答案,我会很乐意更新一些代码或一个示例项目。 谢谢你的时间! 完整的步骤来重现: 在Xcode中创build一个新的iPhone OS,基于视图的应用程序,并将其TableTest 在Interface Builder中打开TableTestViewController.xib并将UITableView拖到提供的视图表面上。 将UITableView的dataSource和delegate -outlets连接到File的Owner,它应该已经代表了TableTestViewController类。 保存您的更改 回到Xcode,将下面的代码添加到TableTestViewController.m: – (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { NSLog(@"Returning num sections"); return […]

什么是下划线代表在Swift参考?

在苹果的文档的参考部分中有很多这样的事情: func runAction(_ action : SKAction!) Objective-C的“等值”是这样的: – (void)runAction:(SKAction *) action 这让我觉得(在Swift引用中)在下划线之后有一个空格,而“action”用斜体字写的可能很重要。 但我无法弄清楚这是在传达什么。 所以也许问题是…是否有参考文献中使用的约定的参考? – 这里是我引用这个引用下划线使用的页面: https : //developer.apple.com/documentation/spritekit/sknode#//apple_ref/occ/instm/SKNode/runAction 更新 Swift 3对如何使用和命名函数/方法参数名称和参数标签做了一些更改。 这对这个问题及其答案有影响。 @Rickster在解决这个问题的函数中做了一个关于_underscores的不同问题,这个问题做得非常出色: 为什么我需要快速的下划线?

在代码中为UIButton设置图像

你如何在代码中设置UIButton的图像? 我有这个: UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btnTwo.frame = CGRectMake(40, 140, 240, 30); [btnTwo setTitle:@"vc2:v1" forState:UIControlStateNormal]; [btnTwo addTarget:self action:@selector(goToOne) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btnTwo]; 但是看不到会为其设置图像。