Questions tagged «objective-c»

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

7
如何在UIView中加载Xib文件
我一直在到处搜索,但到目前为止没有任何工作对我有用。 基本上,我希望有一个名为rootView.xib的.xib文件,在其中我希望有一个UIView(可以称其为containerView),它仅占据屏幕的一半(因此会有常规视图和新视图)。然后我想要一个名为firstView.xib的不同.xib文件,并将其加载到containerView内部。因此,我可以在firstView.xib上放一堆东西,在rootView.xib中放一堆不同的东西,然后将firstView.xib加载到rootView.xib的containerView内,但是由于它只占据屏幕的一半,因此您仍然会看到rootView.xib上的内容
111 ios  objective-c  uiview  xib 


11
警告:“不格式化字符串文字,不格式化参数”
自升级到最新的Xcode 3.2.1和Snow Leopard以来,我一直收到警告 “不格式化字符串文字,不格式化参数” 从以下代码中: NSError *error = nil; if (![self.managedObjectContext save:&error]) { NSLog([NSString stringWithFormat:@"%@ %@, %@", errorMsgFormat, error, [error userInfo]]); } 如果errorMsgFormat是一个NSString与格式说明(如:"print me like this: %@"),什么是错的上述NSLog电话吗?推荐的解决方法是什么,以便不生成警告?



3
使用BOOL属性
苹果建议以这种方式声明BOOL属性: @property (nonatomic, assign, getter=isWorking) BOOL working; 在使用Objective-C 2.0属性和点表示法时,我使用来访问此属性self.working。我知道我也可以使用[self isWorking]-但我不必这样做。 因此,当我到处都使用点表示法时,为什么还要定义一个额外的属性?简单地写可以吗 @property (nonatomic, assign) BOOL working; 还是getter=isWorking在我的案例中有写任何好处(使用点符号)? 谢谢!


5
检查方法是否存在
有什么方法可以测试Objective-C中是否存在方法? 我试图添加一种保护措施,以在调用它之前查看我的对象是否具有该方法。
110 objective-c 



7
NSAttributedString添加文本对齐方式
如何将文本对齐属性添加到NSAttributedString以使文本居中? 编辑:我做错什么了吗?它似乎并没有改变对齐方式。 CTParagraphStyleSetting setting; setting.spec = kCTParagraphStyleSpecifierAlignment; setting.valueSize = kCTCenterTextAlignment; CTParagraphStyleSetting settings[1] = { {kCTParagraphStyleSpecifierAlignment, sizeof(CGFloat), &setting}, }; CTParagraphStyleRef paragraph = CTParagraphStyleCreate(settings, sizeof(setting)); NSMutableAttributedString *mutableAttributed = [[NSMutableAttributedString alloc] initWithAttributedString:self.attributedString]; [mutableAttributed addAttributes:[NSDictionary dictionaryWithObjectsAndKeys:(NSObject*)paragraph ,(NSString*) kCTParagraphStyleAttributeName, nil] range:_selectedRange];

12
iOS应用程序:如何清除通知?
我有一个iOS应用程序,其中向其中发送了一些推送通知。我的问题是,在点击邮件/通知后,它们会留在iOS的通知中心中。下次打开应用程序时,如何在通知中心中为我的应用程序删除通知? 我碰到过有人呼吁setApplicationIconBadgeNumber零值清除通知的帖子。对我来说这似乎很奇怪,所以我相信也许存在另一种解决方案? 编辑1: 我在清除通知时遇到了一些问题。请在这里查看我的代码: - (void) clearNotifications { [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0]; [[UIApplication sharedApplication] cancelAllLocalNotifications]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (launchOptions != nil) { NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; if (dictionary != nil) { NSLog(@"Launched from push notification: %@", dictionary); [self clearNotifications]; } } return YES; } …

13
在Objective-C中获取对象属性列表
我如何获取列表(以 NSArrayNSDictionary在Objective-C中获得给定对象属性或)? 想象以下情况:我定义了一个仅扩展了的父类,其中NSObject包含an NSString,a BOOL和anNSData对象作为属性。然后,我有几个扩展该父类的类,每个类都添加了许多不同的属性。 我有什么办法可以在父类上实现遍历整个对象并返回例如NSArray每个(子)类属性的实例方法,因为NSStrings它们不在父类上,所以我以后可以使用它们NSString对于KVC?

13
以编程方式请求访问联系人
自从更新到iOS 6之后,我注意到将联系人添加到iPhone通讯簿的代码不再起作用。我认为这是一个与权限相关的问题,因为Apple现在需要用户权限才能访问联系人(解决此问题)。 我希望该应用程序会自动请求访问联系人的权限,如下面的屏幕截图所示,但事实并非如此。尝试添加联系人失败ABAddressBookErrorDomain error 1。 我是否需要以编程方式启动对联系人请求对话框的访问?怎么做?


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.