Tag: objective c

RootViewController切换转换animation

有什么办法有一个过渡/animation效果,而用一个新的appDelegatereplace现有的viewcontroller作为rootviewcontroller?

JSONparsing器的Objective-C比较(JSON框架,YAJL,TouchJSON等)

据我所知,Objective-C, JSON Framework , YAJL和Touch JSON有三个JSONparsing器。 那么,这三个就会有自己的特点。 例如: YAJL可以用作SAX风格的parsing器。 JSON框架历史悠久,应用广泛。 触摸JSONparsingNSData而不是NSString。 另外,据我testing,性能比较的结果如下: [快速] YAJL> JSON框架>触摸JSON [慢]。 如果你知道这些JSONparsing器的优缺点,你能告诉我吗? 最后,如果你知道任何其他的JSONparsing器,请告诉我。

目标C – 合成属性

可能重复: 在Objective C中用下划线前缀属性名称 当综合属性,我发现有人在做: @synthesize myVar = _myVar; 什么是“_myVar”,简单的做法与之不同: @synthesize myVar; 最后,当我更喜欢第一个解决scheme的最后一个? 谢谢卢卡

NSString保留Count

就在几天的时间里,我正在做一个项目,我必须看看什么是一个string的保留数。 但它总是让我回到“2147483647”,为什么这样呢? 看看这个代码来自己检查一下。 NSString *str = [[NSString alloc] initWithString:@"Hello World"]; NSLog(@"String Retain Count: %i", [str retainCount]); 所以我的问题是为什么它不像其他对象返回1,为什么我得到“2147483647” 提前致谢。

didRegisterForRemoteNotificationsWithDeviceToken不在ios8中调用,但didRegister …设置是

我跟着这个线程 ,但方法didRegisterForRemoteNotificationsWithDeviceToken仍然没有被调用: 该文件说: 在调用UIApplication对象的registerForRemoteNotifications方法后,应用程序在设备注册成功完成时调用此方法 didRegisterUser似乎很好,但did register notif 。 这是我在AppDelegate中的代码(应用程序版本是8.1): – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //register notif UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound); UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes categories:nil]; [application registerUserNotificationSettings:settings]; return YES; } – (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { //register to receive notifications [application registerForRemoteNotifications]; NSLog(@"didRegisterUser"); } -(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { […]

如何在string中双引号?

我想双引号出现在下面的string,所以它看起来像: "hi there == " 以下是我正在使用的代码: NSMutableString *s = [[NSMutableString alloc] init]; [s appendString:@""""]; [s appendString:@"hi there == ""\n\r"]; 相反,我只得到: hi there == 有任何想法吗?

将数据存储在MKAnnotation中?

所以我对Xcode和Objective-C很新。 我有几个存储在数组中的各种属性的ArtPiece对象。 然后我将它们作为MKAnnotations添加到mapview。 我需要能够做的是发送一个引用他们来自点击数组的位置。 我相信MKAnnotations只有数据成员的标题,图片和位置,所以当我从对象中创build一个MKAnnotation时,注解不会保留任何其他的属性。 所以,我的问题是,我如何能够保持对创build注释的对象的数组位置的引用,以便我可以将其发送给其他方法,以便可以从数组中检索有关该对象的附加信息以获取详细信息视图等有什么办法来存储一个单一的int值注释? 我不觉得还有其他的想法吗? 这是我的ArtPiece.h: #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface ArtPiece : NSObject <MKAnnotation>{ NSString *title; NSString *artist; NSString *series; NSString *description; NSString *location; NSString *area; NSNumber *latitude; NSNumber *longitude; UIImage *image; } @property (nonatomic, retain) NSString *title; @property (nonatomic, retain) NSString *artist; @property (nonatomic, retain) NSString *series; @property (nonatomic, retain) NSString […]

如何在模拟器中显示testingIAd横幅

您好所有我导入iAd框架的工作和实施代码为iAd.My示例代码如下所示 .h文件 #import <UIKit/UIKit.h> #import <iAd/iAd.h> @interface IadTestViewController : UIViewController<ADBannerViewDelegate> { BOOL isBannerVisible; IBOutlet ADBannerView *banner; } @property(nonatomic,assign)BOOL isBannerVisible; @property(nonatomic,retain)IBOutlet ADBannerView *banner; @end .m文件我实现了委托方法 #import "IadTestViewController.h" @implementation IadTestViewController @synthesize banner,isBannerVisible; – (void)viewDidLoad { [super viewDidLoad]; isBannerVisible=NO; bannerView=[[ADBannerView alloc]initWithFrame:CGRectZero]; bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; bannerView.delegate=self; [self.view addSubview:bannerView]; } – (void)bannerViewDidLoadAd:(ADBannerView *)banner { if (!self.isBannerVisible) { [UIView beginAnimations:@"animateAdBannerOn" context:NULL]; […]

何时访问属性与“自我”

我已经阅读了这个网站上关于这个问题的一些问题,我理解如下: self.property访问手动创build或通过@synthesize创build的getter / setter方法。 取决于属性是否被声明为保留,复制等,保留计数被正确修改,例如保留属性,释放先前赋值为“保留”的新值,并将保留计数递增1。 属性通常使用相同名称的实例variables来声明(如果您手动进行赋值,可能会有所不同)。 这通常是因为@synthesize生成的访问器使用实例variables来引用内存中的对象,然后执行相关的命令。 我的问题是基于这样的事实,在很多例子中,self.property和property在不同的事情上可以互换使用,而且我在判断规则时遇到了麻烦。 “苹果文档”中的“食谱”示例应用程序中的一个示例具有以下内容: self.navigationItem.title = recipe.name; nameTextField.text = recipe.name; overviewTextField.text = recipe.overview; prepTimeTextField.text = recipe.prepTime; 和… self.ingredients = sortedIngredients; 每个属性都具有相同名称的相关私有实例variables。 所有的都是用“非primefaces的,保留的”属性以相同的方式声明的。 每个都释放dealloc … 然而,“成分”是通过自我访问和“prepTimeTextField”直接访问。 访问方法不同的原因是什么? 如果我正在访问视图的代表呢? 或者是一个核心数据对象,它被前一个视图控制器作为保留属性传递给视图控制器? 非常感谢

在UIScrollView中滚动UITableView

我有一个UITableView是UIView的子视图,那么UIView是一个UIScrollView的子视图。 如何检测应该滚动UITableView的触摸? UITableView可以获得项目select事件(表格中的一个单元格被选中/点击),除非在单元格被触发之前必须按住单元格。 但我不能让UITableView滚动,它始终是对平移手势作出反应的UIScrollView 。 任何帮助是极大的赞赏。 提前致谢! 编辑:解决了,但我问了错误的问题。 它在罗马K指出默认情况下工作。 我认为这个问题与UITableView的一部分在UIScrollView的边界之外有关( UITableView超出了UIScrollView的底部边界)。 设置它正确适合里面的UIScrollView修复它。