如何使自己的自定义类可序列化?我特别想把它写到iPhone上的文件中,只是plist而你的类只是一个简单的实例类,只是NSStrings而且可能是NSUrl.
这个选择是什么?我将架构设置为Optimized (armv6 armv7)这样一个胖二进制文件应该用两者构建,对吧?
那么为什么需要在菜单中设置它呢?它有什么作用?
Xcode 3.2中的Class Action和Class Outlets在哪里?它们没有像过去那样出现在Inspector中.
我是iphone平台的新手,我正在创建一个应用程序来检索RSS源并将其显示在UITableView中.我已经完美地工作了(或者更确切地说,我想要的方式).我想的是我会将当前的Feed项目存储在手机上,这样它会在获得新的Feed时初始加载它存储的旧项目,然后解析新的feed并添加新项目并刷新TableView.我打算使用Core Data将旧的Feed项存储起来,因为这将是学习Core Data的一种好方法,它将适当地使用Core Data.但是,我很难学习如何使用Core Data并将其与Table/Array连接.
我已经谷歌搜索并查看stackoverflow的教程,但还没有找到任何解释它以我真正理解的方式.对于将Core Data添加到现有应用程序所需的整体步骤的任何解释都将非常感激.不需要完整的细节(但也很有用).我对SQL或以这种方式存储数据方面缺乏经验,并且无法解决Core Data的整个概念如何工作以及它如何连接到所有内容.
此外,任何更好的方法来做我想要完成的事情也将不胜感激.
陷入一个有趣的小问题.我正在编写一个方法来过滤数组到唯一对象:
- (NSArray*)distinctObjectsByAddress {
NSSet* uniqueSet = [NSSet setWithArray:self];
NSArray* retArray = [uniqueSet allObjects];
return retArray;
}
Run Code Online (Sandbox Code Playgroud)
并写了一个单元测试来检查:
- (void)testDistinctObjectsByAddress5 {
Person* adam1 = [[Person alloc] initWithFirstName:@"adam" lastName:@"adam" andParent:nil];
Person* adam2 = [[Person alloc] initWithFirstName:@"adam" lastName:@"adam" andParent:nil];
testPersonArray = [NSArray arrayWithObjects:adam1,adam2, nil];
NSArray* checkArray = [testPersonArray distinctObjectsByAddress];
STAssertEquals([checkArray count], [testPersonArray count], @"Array %@ counts should match %@ %@",checkArray,adam1,adam2);
}
Run Code Online (Sandbox Code Playgroud)
很简单.有趣的是,测试通过的时间大约有80-90%,并且每次都会失败,因为该distinctObjectsByAddress方法只返回一个对象.我已经能够跟踪它,[NSSet setWithArray:self]但我也能够验证两个人对象是两个不同的对象(至少他们有不同的地址).我假设这setWithArray:只是做一个基本的地址比较,但我不明白为什么它有时会产生两个像它应该的对象,有时只产生一个.
我刚试过的东西正在改变,adam2所以名字和名字并不完全相同adam1.这似乎解决了错误.当对象在逻辑上相同时,这是否指向某种编译器优化?
这可能吗?我可以更改图层的不透明度和位置(中心),但每当我尝试更改大小或原点时,它都不起作用.
CAAnimationGroup* anigroup = [CAAnimationGroup new];
CGMutablePathRef thePath = CGPathCreateMutable();
CGPathAddRect(thePath, NULL, CGRectMake(0,0, 320, 480));
CGPathAddRect(thePath, NULL, CGRectMake(location.x - 16,location.y-24, 32, 48));
CGPathAddRect(thePath, NULL, CGRectMake(190, 20, 32, 48));
CAKeyframeAnimation* AniLoc = [CAKeyframeAnimation animationWithKeyPath:@"frame"];
AniLoc.path = thePath;
AniLoc.keyTimes= [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:0.3f],
[NSNumber numberWithFloat:1.0f],nil];
AniLoc.duration = 5;
CFRelease(thePath);
anigroup.animations = [NSArray arrayWithObjects:AniLoc,nil];
anigroup.duration = 5;
[focusview.layer addAnimation:anigroup forKey:nil];
Run Code Online (Sandbox Code Playgroud) 进入一些有趣的事情,想知道我做错了什么或者这是否是正确的行为.
我有一个自定义UITableViewController.我假设(第一个错误),如果你这样初始化:
[[CustomTableController alloc] init];
Run Code Online (Sandbox Code Playgroud)
如果它位于同一目录中,它会自动从同名的XIB(CustomTableController.xib)加载.
然而
这不起作用; 不加载XIB.但是,如果我将我的控制器的父类从'UITableViewController'更改为'UIViewController',那么每个工作都很精细!
呼叫:
[[CustomTableController alloc] init];
Run Code Online (Sandbox Code Playgroud)
从我的xib加载控制器和视图.
难道我做错了什么?这是一个错误吗?预期的行为?
我想从我的SVN中排除一个目录(我正在使用Xcode内置的SCM).它没有签入,但我只是厌倦了从签入中取消选择.
我的大多数SVN经验都是在Windows上使用TortoiseSVN,它具有"忽略"功能; 我认为SCM有相同的选择.
我有一个正则表达式,我在asp.net RegularExpressionValidator中使用它来检查TextField.
^(?=.*[a-z])(?=.*\d)(?=.*[A-Z]).{8,}$
Run Code Online (Sandbox Code Playgroud)
我偶然发现的示例字符串是'RedCoal1'
Firefox =匹配的
IE8 =匹配的
Chrome =匹配
IE7 =不匹配
为什么!!!!
我想知道如何在UIButton上有一个多行标签.
iphone ×9
objective-c ×4
xcode ×4
cocoa-touch ×3
uitableview ×2
animation ×1
architecture ×1
arm ×1
asp.net ×1
cocoa ×1
core-data ×1
ipad ×1
javascript ×1
keychain ×1
macos ×1
nsarray ×1
nsset ×1
regex ×1
sharepoint ×1
svn ×1
uibutton ×1
uikit ×1
uiview ×1