Questions tagged «objective-c»

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

9
可可Objective-C类中变量前面的下划线如何工作?
我在一些iPhone示例中看到,属性在变量前面使用了下划线_。有人知道这意味着什么吗?或如何运作? 我正在使用的接口文件如下所示: @interface MissionCell : UITableViewCell { Mission *_mission; UILabel *_missionName; } @property (nonatomic, retain) UILabel *missionName; - (Mission *)mission; 我不确定上面的功能到底是什么,但是当我尝试将任务名称设置为: aMission.missionName = missionName; 我得到错误: 请求成员“ missionName”使用非结构或联合的形式

1
错误:iOS9中的_handleNonLaunchSpecificActions
我在iOS 9上收到以下错误: -[UIApplication_handleNonLaunchSpecificActions: forScene: withTransitionContext: completion:] unhandled action -> <FBSSceneSnapshotAction: 0x150b2aef0> { handler = remote; info = <BSSettings: 0x15333f650> { (1) = 5; }; } 还有其他人遇到此错误或其含义吗?怎么了?
157 ios  objective-c  xcode  ios9 

19
iOS应用错误-无法将自己添加为子视图
我收到了此崩溃报告,但是我不知道如何调试它。 Fatal Exception NSInvalidArgumentException Can't add self as subview 0 ... CoreFoundation __exceptionPreprocess + 130 1 libobjc.A.dylib objc_exception_throw + 38 2 CoreFoundation -[NSException initWithCoder:] 3 UIKit -[UIView(Internal) _addSubview:positioned:relativeTo:] + 110 4 UIKit -[UIView(Hierarchy) addSubview:] + 30 5 UIKit __53-[_UINavigationParallaxTransition animateTransition:]_block_invoke + 1196 6 UIKit +[UIView(Animation) performWithoutAnimation:] + 72 7 UIKit …
157 ios  iphone  objective-c 

29
如何将设备令牌(NSData)转换为NSString?
我正在实施推送通知。我想将我的APNS令牌另存为字符串。 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken { NSString *tokenString = [NSString stringWithUTF8String:[newDeviceToken bytes]]; //[[NSString alloc]initWithData:newDeviceToken encoding:NSUTF8StringEncoding]; NSLog(@"%@", tokenString); NSLog(@"%@", newDeviceToken); } 代码的第一行显示为空。第二个打印令牌。如何获取newDeviceToken作为NSString?

2
在Objective-C中创建常量的最佳方法是什么
我正在创建一个Reddit客户用于学习目的。我需要一个带有常量的文件。我正在考虑将文件导入文件中Reddit-Prefix.pch以使常量可用于所有文件。这是做事的好方法吗?另外,我已经完成了研究,发现了几种创建常量的方法,但是我不知道该使用哪种方法: #define 巨集 const static const extern const enum 那么哪种方式是首选方式?有什么约定?我知道“取决于”,但我的问题更具体地是:这些解决方案中的每一个都有哪些用例? 另外,如果使用extern const,是否需要导入文件,或者常量将在不导入文件的情况下全局可用? 我可以从逻辑上得出的结论是,enum在定义自定义错误域之类的东西时,这是最佳选择(我实际上是对的吗?)。但是其他呢?

12
如何使用NSJSONSerialization
我有一个JSON字符串(来自PHP json_encode(),看起来像这样: [{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}] 我想将其解析为iPhone应用程序的某种数据结构。我想对我来说最好的是拥有一个字典数组,因此数组中的第0个元素是带有键"id" => "1"和的字典"name" => "Aaa"。 我不明白如何NSJSONSerialization存储数据。到目前为止,这是我的代码: NSError *e = nil; NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e]; 这只是我在另一个网站上看到的示例。我一直在尝试JSON通过打印出诸如此类的元素和事物的数量来读取对象,但是我一直在得到EXC_BAD_ACCESS。 如何使用NSJSONSerialization解析上面的JSON,并将其转换为我提到的数据结构?


20
如何确定今天是否有NSDate?
如何检查NSDate今天是否属于? 我曾经使用中的前10个字符来检查它[aDate description]。[[aDate description] substringToIndex:10]返回类似"YYYY-MM-DD"的字符串,所以我将字符串与所返回的字符串进行了比较[[[NSDate date] description] substringToIndex:10]。 有没有更快速和/或更整洁的检查方法? 谢谢。

12
确实不应该在生产代码上使用NSLog()吗?
在这个站点上我曾多次被告知,但我想确保确实如此。 我期望能够在整个代码中散布NSLog函数调用,并且Xcode / gcc在构建我的Release / Distribution构建时会自动剥离这些调用。 我应该避免使用吗?如果是这样,经验丰富的Objective-C程序员之间最常见的替代方法是什么?

18
像Facebook的新iOS应用程序中那样,开发一种横扫菜单的最佳方法是什么?
似乎随着更多信息充斥于每个iPhone应用程序中,侧滑菜单正成为一种更为常见的界面元素。Facebook已将其包含在最新版本中,而新的Gmail应用程序似乎也包含了它。我想知道是否有人想到开发这样的东西的最有效方法,因为它正在变得越来越普遍。尽管我对如何构建它有自己的想法,但我很想听听其他人的想法。

30
Objective-C中的“无法识别的选择器发送到实例”错误
我创建了一个按钮并为其添加了一个动作,但是一旦调用它,我就会收到此错误: -[NSCFDictionary numberButtonClick:]: unrecognized selector sent to instance 0x3d03ac0 2010-03-16 22:23:58.811 Money[8056:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:'*** -[NSCFDictionary numberButtonClick:]: unrecognized selector sent to instance 0x3d03ac0' 这是我的代码: - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { UIButton *numberButton = [UIButton buttonWithType:UIButtonTypeCustom]; numberButton.frame = …




4
Objective-C中可为空,__ nullable和_Nullable之间的区别
借助Xcode 6.3,引入了新的注释,以便更好地表达Objective-C中API的意图(当然可以确保更好的Swift支持)。这些注解当然nonnull是nullable和null_unspecified。 但是使用Xcode 7时,会出现很多警告,例如: 指针缺少可为空类型说明符(_Nonnull,_Nullable或_Null_unspecified)。 除此之外,Apple使用另一种可为空性说明符,标记其C代码(source): CFArrayRef __nonnull CFArrayCreate( CFAllocatorRef __nullable allocator, const void * __nonnull * __nullable values, CFIndex numValues, const CFArrayCallBacks * __nullable callBacks); 综上所述,我们现在有以下3种不同的可空性注释: nonnull,nullable,null_unspecified _Nonnull,_Nullable,_Null_unspecified __nonnull,__nullable,__null_unspecified 即使我知道为什么以及在哪里使用哪个批注,我还是对应该使用哪种类型的批注,地点和原因感到困惑。这是我可以收集的: 对于我应该使用性质nonnull,nullable,null_unspecified。 对于我应该使用方法参数nonnull,nullable,null_unspecified。 对于C方法我应该使用__nonnull,__nullable,__null_unspecified。 对于其他情况,如双指针,我应该使用_Nonnull,_Nullable,_Null_unspecified。 但是对于为什么我们有这么多基本上执行相同操作的注释,我仍然感到困惑。 所以我的问题是: 这些注释之间的确切区别是什么?如何正确放置它们?为什么?

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.