小编pka*_*amb的帖子

为什么我不能在NSUserDefaults中存储NSDictionary?

我想把它NSDictionary存入NSUserDefaults.但是这样做会导致崩溃:

码:

NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    NSLog(@"response is %@",response);
    NSLog(@"erros is %@",error);

    NSDictionary* jsonDic = [NSJSONSerialization JSONObjectWithData:data
                                                            options:kNilOptions
                                                              error:&error];

    NSLog(@"json is %@",jsonDic);

    [[NSUserDefaults standardUserDefaults]setObject:jsonDic forKey:@"LoginResult"];
    [[NSUserDefaults standardUserDefaults]synchronize];
});
Run Code Online (Sandbox Code Playgroud)

调试:po jsonDic

{
    email = "tejanvm92@gmail.com";
    "first_name" = teja;
    "last_name" = nvm;
    phone = 54321456;
    "profile_image" = "<null>";
    role = User;
    success = 1;
    token = 0971994f904780d2c7532da0560c54ca;
    type = "AUTH_SUCCESS";
}
Run Code Online (Sandbox Code Playgroud)

崩溃日志:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', …
Run Code Online (Sandbox Code Playgroud)

objective-c nsdictionary nsuserdefaults ios

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

用外行的话来说,拉链做什么?

我在学习的一些代码中偶然发现了'zip'.

所以我查了一下以获得以下内容:

zip(_:_:) https://developer.apple.com/documentation/swift/1541125-zip

zip截图

这和牛奶一样清楚.

拉链做什么以及何时使用它?

zip swift

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

如何让 Swift 循环无限期地(永远)运行?

我编写了一个函数,当前可以显示 1000 以下的所有素数。

我可以继续增大 1000 来生成更多数字,但我不知道如何让它在运行后永远持续下去。

func generatePrimes() {
    let numbers = 2...1000
    for n in numbers {
        var prime = true

        for i in 2..<n { 
            if n % i == 0 {
                prime = false
                break
            }
        }

        if prime == true {
            print(n)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

primes func ios swift

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

从文件中隐藏OS X Sierra Dock图标

我知道Mac OS X版本低于Sierra,你可以编辑Info.plist文件并添加:

<key>LSUIElement</key>
<true/>
Run Code Online (Sandbox Code Playgroud)

正上方:

</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

如果我在Sierra中这样做,该应用程序将无法运行.有没有人想出如何从码头隐藏正在运行的应用程序?

macos macos-sierra

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

如何使macOS按钮突出显示(蓝色)?

我已经试过了:

myButton.highlight(true)
Run Code Online (Sandbox Code Playgroud)

但这只会将按钮变成深蓝色,这是按钮的“按下状态”。

另外,当我按键盘上的Enter键时,该按钮将不起作用。

按下Enter键后,如何使按钮突出显示(蓝色)并可切换?

macos xcode nsbutton swift

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

“git push --force-with-lease”的短标志?

我已经开始使用git push --force-with-lease而不是--force在大多数情况下用于额外的分支保护:

我什至可以尝试将此选项设置为默认选项,如下所述:

但使用时的主要烦恼--force-with-lease是输入该标志的尴尬措辞和冗长语法。

Git--force-f标志更短并且更容易键入,但不提供额外的安全性。


是否有缩写形式--force-with-lease,例如--fwl

  • 如果没有,是否有原因没有添加?更方便的标志似乎会增加更安全功能的采用。git 的创建者是否讨论过这个问题?

如果默认情况下不存在这样的标志,我如何在自己的计算机上创建这样的标志或别名?

git command-line-interface git-push

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

在 Swift 中从字符串中删除表情符号

如何使用以下扩展从字符串中过滤表情符号?

extension String {
    func removeCharacters() -> String {
        let removeCharacters: CharacterSet = [" ", ";", ",", ":", ".", "!", "%", "$", "&", "#", "*", "^", "@", "(", ")", "/"]
        let filteredString = self.unicodeScalars.filter { !removeCharacters.contains($0) }
        return String(String.UnicodeScalarView(filteredString))
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道isEmojiPresentation == false可以使用属性,只是不确定如何将其添加到函数中。为了澄清,所有表情符号都应该从通过扩展传递的字符串中删除。

swift

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

iOS在Swift中以编程方式添加约束

所以,我已经完成了使用IBin Xcode并希望UI在Swift中编写所有内容.

所以我做的是:

  • 创建一个新UIView的包含我想写的元素 - 让我们称之为"TestView"
  • 我已添加TestView到a VC作为子视图.
  • TestView课堂上我添加了这样的元素:

    class TestView: UIView {
          var someLabel:UILabel!
          override init(frame: CGRect) {
                super.init(frame: frame)
    
                self.someLabel = UILabel(frame: CGRect(x: self.frame.midX, y: oneSixthHeight, width: 100, height: 22))
                self.someLabel.text = "test"
    
                var constraints:[NSLayoutConstraint] = []
                self.someLabel.translatesAutoresizingMaskIntoConstraints = false
                let rightsideAnchor:NSLayoutConstraint = NSLayoutConstraint(item: self.someLabel, attribute: .Trailing, relatedBy: .Equal, toItem: self, attribute: .Trailing, multiplier: 1, constant: 1)
    
                 constraints.append(rightsideAnchor)
                 NSLayoutConstraint.activateConstraints(constraints)
          }
    }
    
    Run Code Online (Sandbox Code Playgroud)

有了这个,我希望将UILabel它固定在视图的右侧.

但是,我确实收到此错误:

由于未捕获的异常'NSGenericException'而终止应用程序,原因:'无法激活带有项的约束>和>因为它们没有共同的祖先. …

ios nslayoutconstraint swift

0
推荐指数
2
解决办法
7236
查看次数

如何检查 Swift 字符串是否只包含某些字符?

我有一个字符串,我想检查它是否只包含大小写的 26 个字母字符和 10 个数字字符:

abcdefghijklmnopkrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
Run Code Online (Sandbox Code Playgroud)

如何检查字符串不包含任何特殊字符?

string contains special-characters swift

0
推荐指数
1
解决办法
985
查看次数

更改 git 分支类型

我搜索了如何更改分支名称并找到了以下命令:

git branch -m new-name
git branch -m old-name new-name
Run Code Online (Sandbox Code Playgroud)

有什么问题?问题是在我们的模式之外创建了分支,例如:

实施例1 实施例2

该模式是选择分支类型。

起初,我认为只需使用分支的新名称就可以修复它,但我不确定,当我搜索更改分支类型时,我的搜索没有结果。

git bitbucket

0
推荐指数
1
解决办法
6425
查看次数

如何使用"自动布局可视格式"将两个视图放在同一位置?

我想在Swift中使用"自动布局可视化格式"在同一位置放置两个视图,我该如何以优雅的方式做到这一点?

我成功使用了NSLayoutConstraint,但我希望我仍然可以使用可视化格式找到一种优雅的方式.

我的代码使用NSLayoutConstraint:

NSLayoutConstraint(item: greenView, attribute: .Left, relatedBy: .Equal, toItem: redView, attribute: .Left, multiplier: 1.0, constant: 0).active = true
NSLayoutConstraint(item: greenView, attribute: .Top, relatedBy: .Equal, toItem: redView, attribute: .Top, multiplier: 1.0, constant: 0).active = true
NSLayoutConstraint(item: greenView, attribute: .Right, relatedBy: .Equal, toItem: redView, attribute: .Right, multiplier: 1.0, constant: 0).active = true
NSLayoutConstraint(item: greenView, attribute: .Bottom, relatedBy: .Equal, toItem: redView, attribute: .Bottom, multiplier: 1.0, constant: 0).active = true
Run Code Online (Sandbox Code Playgroud)

ios autolayout swift ios-autolayout

-1
推荐指数
1
解决办法
1630
查看次数

stringByTrimmingCharactersInSet 似乎在 Swift4 中被弃用

下面这行 Swift 2 代码

let newString = title.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Run Code Online (Sandbox Code Playgroud)

给出以下错误

'String' 类型的值没有成员 'stringByTrimmingCharactersInSet'

在 Swift 4、Xcode 9.2 中

ios swift swift4

-1
推荐指数
1
解决办法
2956
查看次数

Bash 中的三倍小于号

在阅读其他人的 bash 代码时,我发现了三个小于号。

<<<在 Bash中是什么意思?

bash

-2
推荐指数
2
解决办法
696
查看次数