Questions tagged «objective-c»

仅在有关Objective-C功能或取决于语言代码的问题上使用此标记。标签[cocoa]和[cocoa-touch]应该用于询问Apple的框架或类。使用相关标签[ios],[macos],[apple-watch]和[tvos]来解决特定于这些平台的问题。

4
在Objective-C中声明和检查/比较(位掩码)枚举
您知道可可里有这个东西,例如您可以创建一个 UIView并执行: view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 我有一个UIView具有多个状态的自定义,enum这样的: enum DownloadViewStatus { FileNotDownloaded, FileDownloading, FileDownloaded }; 对于每个创建的子视图,我设置其tag:subview1.tag = FileNotDownloaded; 然后,我为视图状态创建了一个自定义设置器,它可以执行以下操作: for (UIView *subview in self.subviews) { if (subview.tag == viewStatus) subview.hidden = NO; else subview.hidden = YES; } 但是我想做的是允许这样做: subview1.tag = FileNotDownloaded | FileDownloaded; 所以我subview1以两种状态出现。目前,它在这两个州中均未显示|操作员似乎将两个枚举值相加。 有没有办法做到这一点?


3
UILabel中文本的像素宽度
我需要绘制一个删除的UILabel。因此,我将UILabel子类化,并按如下方式实现它: @implementation UIStrikedLabel - (void)drawTextInRect:(CGRect)rect{ [super drawTextInRect:rect]; CGContextRef context = UIGraphicsGetCurrentContext(); CGContextFillRect(context,CGRectMake(0,rect.size.height/2,rect.size.width,1)); } @end 发生的情况是,UILabel的行与整个标签一样长,但是文本可以更短。有没有一种方法可以确定文本的长度(以像素为单位),以便可以适当地绘制线条? 我也愿意接受其他解决方案,如果知道的话:) 最好,埃里克


7
AFNetworking 2.0将标头添加到GET请求
我刚刚开始使用AFNetworking 2.0,并且想知道如何将标头放入HTTP Get请求中。该文档设置了这样的GET: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"foo": @"bar"}; [manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; 但是由于我们没有处理,NSURLRequests所以我不确定如何设置HTTP标头。 任何帮助,将不胜感激。 问候,迈克

15
检查从JSON字符串返回的Objective-C中的空值
我有一个来自网络服务器的JSON对象。 日志是这样的: { "status":"success", "UserID":15, "Name":"John", "DisplayName":"John", "Surname":"Smith", "Email":"email", "Telephone":null, "FullAccount":"true" } 请注意,如果用户未输入电话,则电话为空。 当将此值分配给时NSString,在中显示NSLog为<null> 我正在分配这样的字符串: NSString *tel = [jsonDictionary valueForKey:@"Telephone"]; 检查此<null>值的正确方法是什么?这使我无法保存NSDictionary。 我一直在使用的条件尝试[myString length]和myString == nil并myString == NULL 另外,在iOS文档中哪里最适合阅读此书?
78 ios  objective-c  json 

7
在以下两行的执行之间增加延迟
我需要在(相同)函数的两行执行之间增加延迟。有什么有利的选择吗? 注意:我不需要两个不同的函数来执行此操作,并且延迟一定不会影响其他函数的执行。 例如: line 1: [executing first operation]; line 2: Delay /* I need to introduce delay here */ line 3: [executing second operation]; 任何帮助都是可观的。提前致谢...


11
错误'_BSMachError:端口1607;(os / kern)无效功能(0x14)在iOS 10的Cordova应用中“无法插入COPY_SEND”
一切正常,直到我用Xcode 7.3.0生成cordova应用程序,但每当我将方向从纵向更改为横向时,它就开始仅在iOS 10设备上崩溃,然后再用Xcode 8构建相同的应用程序,因为在iOS上它仍然可以正常工作9.3.1。在调试器中,我得到以下日志: 2016-09-24 18:14:41.212470 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND" 2016-09-24 18:14:41.613460 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND" 2016-09-24 18:14:41.613947 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND" 2016-09-24 …

7
Swift中的ChangeCharactersInRange应该如何工作?
我正在使用shouldChangeCharactersInRange作为使用即时类型搜索的方式。 但是我有一个问题,在文本字段实际更新之前应该调用shouldChangeCharactersInRange: 在目标C中,我使用以下方法解决了这个问题: -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string]; return YES; } 但是,我尝试用Swift编写此代码: func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { let txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string) self.callMyMethod(txtAfterUpdate) return true } 在获得值之前,该方法仍会被调用?

9
无法endBackgroundTask:不存在带有标识符的后台任务,或者它可能已经结束
我正在使用后台任务在后台运行计时器以更新用户的位置。声明为: UIBackgroundTaskIdentifier bgTask; 在头文件中,并初始化为: bgTask = UIBackgroundTaskInvalid; 但是,我仍然在gdb中收到此消息: 无法endBackgroundTask:不存在标识符为23dc的后台任务,或者它可能已经结束。中断UIApplicationEndBackgroundTaskError()进行调试。 为什么?我该如何解决呢?

19
分组的UITableview删除外部分隔线
我有一个以编程方式创建的分组UITableview。我也有一个以编程方式在tableview中填充的xib文件的单元格。到现在为止还挺好。但是我只想删除外部分隔线。我使用下面的代码,但是这次删除了所有分隔线。 self.tableView.separatorColor = [UIColor clearColor]; 对于我的情况,这不是一个好选择。这是我想做的截图。


8
缩进UITextField中的文本
我的问题和标题一样简单,但还有更多一点: 我有一个UITextField,在上面设置了背景图片。问题在于文本紧靠其边缘(也就是图像的边缘)。我希望我的文本字段看起来像Apple的文本字段,在背景图像和文本的起始位置之间留出一定的水平空间。

13
iOS 7半透明模式视图控制器
iOS 7上的App Store应用使用磨砂玻璃效果,可以看到后面的视图。这是使用iOS 7内置的API还是自定义代码。我希望它会是前者,但我在文档中看不到任何明显的参考。诸如(在模式视图上设置alpha属性)之类的显而易见的事情似乎没有任何效果。 要查看示例,请打开App Store应用程序,然后按右上角的按钮。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.