小编Jos*_*zzi的帖子

将Xcode工作区方案添加到版本控制

我想与其他团队成员分享我创建的Workspace Schemes.但是它们都存储在.xcodeproj> xcuserdata> .xcuserdatad> xcschemes下.我已经在SVN中设置了要忽略的xcuserdata文件夹,因为我假设该文件夹中的所有数据都是用户特定的.

有没有解决的办法?即我不希望这些方案是用户特定的.或者我应该检查xcschemes文件夹.如果我这样做,其他用户是否能够查看和使用我的方案?

version-control xcode

107
推荐指数
2
解决办法
1万
查看次数

如何在Swift 4的可解码协议中使用自定义键?

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)

json swift swift4 codable

81
推荐指数
2
解决办法
3万
查看次数

58
推荐指数
4
解决办法
2万
查看次数

在Xcode 4中重命名目标

在Xcode 4中,我更改了我的cocoa应用程序的目标名称的名称,因为我想更改可执行文件的名称.Build工作正常但在编译Xcode之后仍然会启动仍在项目导航器的Products文件夹中列出的旧可执行文件.

如何在构建后更改Xcode 4启动的应用程序?

xcode4

42
推荐指数
2
解决办法
3万
查看次数

从plist文件恢复NSDictionary中的BOOL

我有一个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.

cocoa boolean objective-c nsdictionary property-list

36
推荐指数
2
解决办法
2万
查看次数

如何在Xcode中跳过开发构建的代码签名?

每当我构建我的Xcode项目时,在编译完所有代码之后,需要永远完成"签署产品".(我相信这是因为该项目包含大约需要签名的200 MB资源.)我想在开发过程中跳过代码签名,因此构建可以更快完成.我怎样才能做到这一点?

macos xcode cocoa

29
推荐指数
3
解决办法
2万
查看次数

为什么我在这段代码中得到一个"未知类型名称NSManagedObjectContext"?

任何想法为什么我在这段代码中得到"未知类型名称NSManagedObjectContext"?

我基本上是将核心数据添加到现有项目中.我添加了coredata行+我在CoreData.framework中添加到项目中.为此,我去了:

  • 何时申请目标
  • 建立阶段
  • 链接二进制文件库
  • 然后添加了CoreData框架
  • 然后将其拖放到项目导航器上,以便与Xcode中的其他框架图标一起显示

请注意我还有什么需要做的?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)

iphone core-data objective-c ios4

19
推荐指数
2
解决办法
3万
查看次数

Objective-C使用字符串创建文本文件

我正在尝试使用字符串的内容创建一个文本文件到我的桌面.我不确定我是否做得对,我没有得到错误,但它也不起作用......

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)

cocoa objective-c save nsstring

16
推荐指数
2
解决办法
3万
查看次数

在Cocoa中更改行分隔符的颜色

有没有办法改变一条线的颜色(Interface Builder的"垂直线"和"水平线").IB中的行分隔符是NSBox,当用作NSBoxSeparator时,我没有找到任何改变颜色的方法.

cocoa

16
推荐指数
1
解决办法
4942
查看次数

如何设置SceneKit碰撞检测

您好我已经仔细阅读了文档,无法弄清楚如何在场景工具包中设置碰撞检测.有人可以举个例子.请帮助我非常绝望地想出这个.谢谢!

编辑:您好,非常感谢,对不起,我忘了提到我的项目很快.没什么大不了的,我可以在很大程度上翻译自己.

我有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)

看看文档,我需要以某种方式将场景物理世界委托分配给此方法.我不知道该怎么做.

scenekit swift

13
推荐指数
1
解决办法
1万
查看次数