我想把它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) 我在学习的一些代码中偶然发现了'zip'.
所以我查了一下以获得以下内容:
zip(_:_:)
https://developer.apple.com/documentation/swift/1541125-zip
这和牛奶一样清楚.
拉链做什么以及何时使用它?
我编写了一个函数,当前可以显示 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) 我知道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中这样做,该应用程序将无法运行.有没有人想出如何从码头隐藏正在运行的应用程序?
我已经试过了:
myButton.highlight(true)
Run Code Online (Sandbox Code Playgroud)
但这只会将按钮变成深蓝色,这是按钮的“按下状态”。
另外,当我按键盘上的Enter键时,该按钮将不起作用。
按下Enter键后,如何使按钮突出显示(蓝色)并可切换?
我已经开始使用git push --force-with-lease
而不是--force
在大多数情况下用于额外的分支保护:
我什至可以尝试将此选项设置为默认选项,如下所述:
但使用时的主要烦恼--force-with-lease
是输入该标志的尴尬措辞和冗长语法。
Git--force
和-f
标志更短并且更容易键入,但不提供额外的安全性。
是否有缩写形式--force-with-lease
,例如--fwl
?
如果默认情况下不存在这样的标志,我如何在自己的计算机上创建这样的标志或别名?
如何使用以下扩展从字符串中过滤表情符号?
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
可以使用属性,只是不确定如何将其添加到函数中。为了澄清,所有表情符号都应该从通过扩展传递的字符串中删除。
所以,我已经完成了使用IB
in 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'而终止应用程序,原因:'无法激活带有项的约束>和>因为它们没有共同的祖先. …
我有一个字符串,我想检查它是否只包含大小写的 26 个字母字符和 10 个数字字符:
abcdefghijklmnopkrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
Run Code Online (Sandbox Code Playgroud)
如何检查字符串不包含任何特殊字符?
我搜索了如何更改分支名称并找到了以下命令:
git branch -m new-name
git branch -m old-name new-name
Run Code Online (Sandbox Code Playgroud)
有什么问题?问题是在我们的模式之外创建了分支,例如:
该模式是选择分支类型。
起初,我认为只需使用分支的新名称就可以修复它,但我不确定,当我搜索更改分支类型时,我的搜索没有结果。
我想在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) 下面这行 Swift 2 代码
let newString = title.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
Run Code Online (Sandbox Code Playgroud)
给出以下错误
'String' 类型的值没有成员 'stringByTrimmingCharactersInSet'
在 Swift 4、Xcode 9.2 中
swift ×8
ios ×5
git ×2
macos ×2
autolayout ×1
bash ×1
bitbucket ×1
contains ×1
func ×1
git-push ×1
macos-sierra ×1
nsbutton ×1
nsdictionary ×1
objective-c ×1
primes ×1
string ×1
swift4 ×1
xcode ×1
zip ×1