Tag: objective c

有没有办法强制在NSArray,NSMutableArray等等上打字?

我可以做一个NSMutableArray的所有元素是SomeClasstypes?

增加推送通知徽章iPhone

是否可以在收到通知时递增徽章值? 或者我应该发送计数作为有效载荷? 如果我每次发送徽章值为“1”,如果应用程序未打开,如何增加应用程序图标中的徽章值。 我已经使用这个代码,但不工作。 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { [UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1; }

Cocoa / Objective-C中的全局variables?

根据Cocoa Programming for Mac OS X,第3版, 202页(第13章): 您将在您的应用程序的几个类中注册,阅读和设置默认值。 为了确保您始终使用相同的名称,您应该将这些string声明为单个文件,然后将该文件简单地导入到您使用名称的任何文件中。 有几种方法可以做到这一点。 例如,你可以使用C预处理器的#define命令,但是大多数Cocoa程序员为此使用全局variables。 这真的是最好的做法吗? 全局variables? 这对我来说似乎是疯了 – 对抗我所教过的一切。 更好的devise是一个简单的单一类与这些定义? 还是真的是走出去的正确的最佳做法? 考虑到许多人认为单身男人穿着漂亮的连衣裙变成全能的,是不是有更好的模式呢?

为AVQueuePlayer预缓冲

有谁知道AVQueuePlayer是否开始caching下一个AVPlayerItem当前项目即将完成播放? 我知道在文档中没有什么可以提出这个build议,我主要问的是,如果有人观察到这种行为或不。

如何做一个真正的私人实例variables?

我想创build一个不能从外部访问的实例variables。 在objective-c中有这样的可能吗? 我记得苹果有私人变数和类似的东西,但如果人们知道他们,他们可以使用它们。 苹果称之为“私人API”,但显然其他人可以访问那些东西,如果他们发现那里的东西。 直到现在我相信像这样的东西创build一个私人实例variables: @interface MyClass : NSObject { CGFloat weight; } 没有@property,没有@synthesize,只是上面的声明。 另外我知道苹果增加了一个_inFrontOfTheirPrivateInstanceVariables,但他们说某处他们不喜欢看到其他人这样做,因为他们可能会覆盖意外隐藏的实例variables。 这里有什么窍门?

我应该在接口中声明variables还是在objective-c arc中使用属性?

方法1: @interface MyController : UIViewController { UILabel *myText; } @property (nonatomic, strong) UILabel *myText; 方法2: @interface MyController : UIViewController @property (nonatomic, strong) UILabel *myText; 方法3: @interface MyController : UIViewController { UILabel *myText; } 我读过一些关于这种东西的文章,但是我还没有真正意识到我必须采用哪种方法。 我也发现有人说方法1是一个古老的方式,所以我想知道使用ARC的ios sdk 6的最佳做法。 我知道使用属性声明variables是生成getter和setter的简单方法,有人build议使用它。 但是,我想问一个variables是不是由另一个类调用,是否有必要为variables使用属性? 并将其设置为接口内的私有variables? 还是只有在界面内声明的variables才更好? 我想学习最好的做法,所以请原谅我,如果这是一个愚蠢的问题。 而且,有些开发者用这种方式写@synthesize @synthesize myText=_myText; 但有些写道: @synthesize myText; 我也想知道其中的差别,哪一个更好? 非常感谢你!

UIAlertView首先不赞成使用IOS 9

我已经尝试了几种使用UIAlertController而不是UIAlertView的方法。 我尝试了几种方法,但是无法使警报操作起作用。 这里是我的代码在IOS 8和IOS 9中正常工作,但显示不赞成使用的标志。 我尝试了下面的优雅build议,但是我不能在这方面使它起作用。 我需要提交我的应用程序,这是最后要解决的问题。 感谢您的任何进一步的build议。 我是一个新手。 #pragma mark – BUTTONS ================================ – (IBAction)showModesAction:(id)sender { NSLog(@"iapMade: %d", iapMade3); // IAP MADE ! =========================================== if (!iapMade3) { //start game here gamePlaysCount++; [[NSUserDefaults standardUserDefaults]setInteger:gamePlaysCount forKey:@"gamePlaysCount"]; NSLog(@"playsCount: %ld", (long)gamePlaysCount); if (gamePlaysCount >= 4) { UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Basic" message: THREE_PLAYS_LIMIT_MESSAGE delegate:self cancelButtonTitle:@"Yes, please" otherButtonTitles:@"No, thanks", […]

检测iOS UIDevice方向

我需要检测什么时候该设备是纵向的,以便我可以发射一个特殊的animation。 但是我不希望我的观点自动化。 当设备旋转到肖像时,如何覆盖视图自动旋转? 我的应用程序只需要在横向上显示它的视图,但是如果我想能够检测旋转到纵向,我似乎还需要支持纵向。

模糊图像的特定部分(矩形,圆形)?

我想模糊矩形或圆形的图像。 谷歌search后,我发现很容易模糊整个图像,但很难模糊图像的特定部分(矩形,圆形)。 所以怎么可能? 提前致谢

iOS 7状态栏与NavigationBar碰撞

我在我的应用程序中有一个视图控制器,在故事板上有一个导航栏拖动它。 它在iOS 6中工作正常,但在iOS 7中它看起来像这样: 状态栏和导航栏不应该相互碰撞。 我在堆栈溢出中看到了很多这样的问题,但对我来说帮助不大。 有些问题说我应该使用这个“self.edgesForExtendedLayout = UIRectEdgeNone;” 但它没有工作。 有人说我应该删除导航栏,并将其embedded导航控制器,我不能做,因为我的程序的实施方式。 一些解决schemebuild议使用视图边界和所有,但它不适合我。 什么是可以帮助我解决这个问题的一件事。 提前致谢! 更新:我已经embedded视图控制器内的uinavigation控制器。 删除了之前手动添加的导航栏。 现在看起来好像在故事板,但是当我运行它,它显示以下内容: 它显示来自另一个视图控制器的文本,该视图控制器当前位于其父视图控制器之后。 意味着它现在透明。 任何人都可以指出我做错了什么?