我想与其他团队成员分享我创建的Workspace Schemes.但是它们都存储在.xcodeproj> xcuserdata> .xcuserdatad> xcschemes下.我已经在SVN中设置了要忽略的xcuserdata文件夹,因为我假设该文件夹中的所有数据都是用户特定的.
有没有解决的办法?即我不希望这些方案是用户特定的.或者我应该检查xcschemes文件夹.如果我这样做,其他用户是否能够查看和使用我的方案?
Swift 4通过Decodable协议引入了对本机JSON编码和解码的支持.我如何使用自定义键?
比如说我有一个结构
struct Address:Codable {
var street:String
var zip:String
var city:String
var state:String
}
Run Code Online (Sandbox Code Playgroud)
我可以将其编码为JSON.
let address = Address(street: "Apple Bay Street", zip: "94608", city: "Emeryville", state: "California")
if let encoded = try? encoder.encode(address) {
if let json = String(data: encoded, encoding: .utf8) {
// Print JSON String
print(json)
// JSON string is
{ "state":"California",
"street":"Apple Bay Street",
"zip":"94608",
"city":"Emeryville"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以将它编码回一个对象.
let newAddress: Address = try decoder.decode(Address.self, from: encoded)
Run Code Online (Sandbox Code Playgroud)
但如果我有一个json对象
{
"state":"California",
"street":"Apple Bay …Run Code Online (Sandbox Code Playgroud) Interface Builder文件中nib和xib有什么区别?
在Xcode 4中,我更改了我的cocoa应用程序的目标名称的名称,因为我想更改可执行文件的名称.Build工作正常但在编译Xcode之后仍然会启动仍在项目导航器的Products文件夹中列出的旧可执行文件.
如何在构建后更改Xcode 4启动的应用程序?
我有一个plist文件,其中包含一系列字典.这是其中之一:
Fred字典
名称Fred
isMale [已选中框]
所以现在我用我从plist文件中读取的字典初始化我的Person对象:
-(id) initWithDictionary: (NSDictionary *) dictionary {
if (self = [super init])
self.name = [dictionary valueForKey: @"Name"];
self.isMale = ????
}
Run Code Online (Sandbox Code Playgroud)
如何完成上面的代码,以便在plist文件中选中复选框时将self.isMale设置为YES,如果不是则选择NO.如果字典中没有键isMale,则最好也设置为NO.
每当我构建我的Xcode项目时,在编译完所有代码之后,需要永远完成"签署产品".(我相信这是因为该项目包含大约需要签名的200 MB资源.)我想在开发过程中跳过代码签名,因此构建可以更快完成.我怎样才能做到这一点?
任何想法为什么我在这段代码中得到"未知类型名称NSManagedObjectContext"?
我基本上是将核心数据添加到现有项目中.我添加了coredata行+我在CoreData.framework中添加到项目中.为此,我去了:
请注意我还有什么需要做的?CoreDataBooks示例代码与我似乎编译的内容几乎相同
#import <UIKit/UIKit.h>
@interface myAppAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
// Core Data
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; // ERROR: unknown type
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel; // ERROR: unknown type
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator; // ERROR: unknown type
- (void)saveContext;
- (NSURL *)applicationDocumentsDirectory;
@end
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用字符串的内容创建一个文本文件到我的桌面.我不确定我是否做得对,我没有得到错误,但它也不起作用......
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString *desktopDirectory=[paths objectAtIndex:0];
NSString *filename = [desktopDirectory stringByAppendingString: @"file.txt"];
[myString writeToFile:filename atomically:YES encoding: NSUTF8StringEncoding error: NULL];
Run Code Online (Sandbox Code Playgroud) 有没有办法改变一条线的颜色(Interface Builder的"垂直线"和"水平线").IB中的行分隔符是NSBox,当用作NSBoxSeparator时,我没有找到任何改变颜色的方法.
您好我已经仔细阅读了文档,无法弄清楚如何在场景工具包中设置碰撞检测.有人可以举个例子.请帮助我非常绝望地想出这个.谢谢!
编辑:您好,非常感谢,对不起,我忘了提到我的项目很快.没什么大不了的,我可以在很大程度上翻译自己.
我有BitMasks正常工作,因为对象相互碰撞和反弹.但是我似乎无法使功能发挥作用
func physicsWorld(world: SCNPhysicsWorld, didBeginContact contact: SCNPhysicsContact){
let contactMask = contact.nodeA.physicsBody!.categoryBitMask | contact.nodeB.physicsBody!.categoryBitMask
if (contactMask == (CollisionBallCategory | CollisionTerminatorCategory)) {
println("Collided")
}
}
Run Code Online (Sandbox Code Playgroud)
看看文档,我需要以某种方式将场景物理世界委托分配给此方法.我不知道该怎么做.