我已经对Core Data
模型进行了一些更改,并且我们正在按如下所述处理迁移:轻量级迁移。
那不是问题。但是,我想对数据进行其他一些更新,这些更新取决于当前模型版本。如何获得当前模型版本的名称?我希望看到类似的东西:
[[NSBundle mainBundle] currentDataModelName]
Run Code Online (Sandbox Code Playgroud)
但我似乎找不到。有人可以帮忙吗?
我正在努力让一个项目与Parse和Facebook合作.运行此项目时,构建失败,我得到一个Mach-O Linker Error
:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SLComposeViewController", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_SLRequest", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
"_SLServiceTypeTwitter", referenced from:
-[PF_Twitter getAccessTokenForReverseAuthAsync:localTwitterAccount:] in Parse(PF_Twitter.o)
-[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
ViewController.h:
#import <UIKit/UIKit.h>
#import <Parse/Parse.h>
@interface ViewController : UIViewController
@end
// Implement both delegates
@interface DefaultSettingsViewController :
UIViewController <PFLogInViewControllerDelegate, PFSignUpViewControllerDelegate>
@end
Run Code Online (Sandbox Code Playgroud)
而ViewController.m:
#import "ViewController.h"
@interface ViewController …
Run Code Online (Sandbox Code Playgroud) 正如你所看到的,有两个UIViewControllers
(其中一个被调用,ProView
并作为另一个的容器UIViewController
和一个UIPageViewController
.
import UIKit
class ProView: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {
var pageViewController: UIPageViewController?
let characterImages = ["character1", "character2"]
override func viewDidLoad() {
super.viewDidLoad()
createPageViewController()
setupPageControl()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func pageViewController(pageViewController: UIPageViewController,
viewControllerAfterViewController ProView: UIViewController) -> UIViewController? {
let itemController = ProView as PageItemController
if itemController.itemIndex+1 < characterImages.count {
return getItemController(itemController.itemIndex+1)
}
return nil
}
func pageViewController(pageViewController: UIPageViewController,
viewControllerBeforeViewController ProView: UIViewController) -> UIViewController? {
let itemController = ProView as PageItemController …
Run Code Online (Sandbox Code Playgroud) 我想创建以下内容UIAlertAction
:
@IBAction func buttonUpgrade(sender: AnyObject) {
let alertController = UIAlertController(title: "Title",
message: "Message",
preferredStyle: UIAlertControllerStyle.Alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { (action) in
// ...
}
alertController.addAction(cancelAction)
}
Run Code Online (Sandbox Code Playgroud)
我知道a UIAlertController
是用a初始化的title
,message
并且它是否更喜欢显示为警报或操作表.
按下按钮时,我想显示警报,但alert.show()
不起作用.为什么我的代码不起作用?
我希望标签的字体大小与屏幕大小成正比。我已经对这个UILabel
类进行了子类化来完成这个:
@IBDesignable class MyCustomLabel: UILabel {
override func layoutSubviews() {
super.layoutSubviews()
self.font = UIFont(name: "myFontName", size: (self.font?.pointSize)!)
self.adjustsFontSizeToFitWidth = true
}
}
Run Code Online (Sandbox Code Playgroud)
标签(与附加到它们的超级视图约束成比例的宽度)在应用程序首次启动时正确调整大小,但是当它进入后台状态时layoutSubviews
会被重复调用。该应用程序不再响应用户的输入并不断为字体分配字体大小。
为什么会这样?
我希望我的堆栈视图具有三个视图:红色图像、蓝色图像和寄存器视图。问题是,虽然红色和蓝色按钮看起来很好,但注册视图却不然。
这就是我在视图控制器视图中设置和放置堆栈视图的方式:
func setupSocialStackView() {
let socialStackView = UIStackView(arrangedSubviews: redImage, blueImage, registerView])
socialStackView.axis = .vertical
socialStackView.distribution = .fillProportionally
view.addSubview(socialStackView)
socialStackView.spacing = 8
// NSLayoutAnchor constraints here to place stack view
// inside my view controller view
}
Run Code Online (Sandbox Code Playgroud)
这是我的注册视图的代码,但未显示:
lazy var registerView: UIView = {
let containerView = UIView()
// Register button
let registerButton = UIButton(type: .system)
registerButton.setTitle("Register", for: .normal)
registerButton.titleLabel?.font = UIFont.systemFont(ofSize: 12, weight: UIFontWeightLight)
registerButton.titleLabel?.textAlignment = .center
registerButton.setTitleColor(UIColor.black, for: .normal)
registerButton.titleLabel?.textColor = UIColor(r: 91, g: 90, b: 90)
registerButton.addTarget(self, …
Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序,其中包含用户、项目及其迷你子项目“步骤”。
这是我提出的数据库设计:
用户可以加入项目的全部或部分步骤。我尝试按照指南保持数据库结构尽可能平坦。这听起来是最好的方法吗?
用户身份验证 > 加入项目 > 选择“步骤”加入
我使用的 API 以简洁的格式为我提供数据 - 如何将其作为String
. 我可以打印它,但将其保存为字符串似乎不起作用。
我特别想使用NSURLSession
任务中的数据更新 UI 元素。
let url = NSURL(string: apiCall)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
//I want to replace this line below with something to save it to a string.
println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
task.resume()
Run Code Online (Sandbox Code Playgroud) 我有一个表格视图和表格视图单元格,上面有一个图像视图。我希望它们具有固定宽度但具有动态高度(取决于来自服务器的图像)。
我正在使用SDWebImage
下载和设置图像,但表格视图单元格变得非常奇怪。
我没有忘记:
postTableView.estimatedRowHeight = UITableViewAutomaticDimension
postTableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)
cellForRow 方法:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "postCell", for: indexPath) as! TableViewCell
let post = postArray[indexPath.row]
cell.setupCell(with: post)
return cell
}
Run Code Online (Sandbox Code Playgroud)
表视图单元格类:
class TableViewCell: UITableViewCell {
@IBOutlet weak var postTitle: UILabel!
@IBOutlet weak var postSource: UILabel!
@IBOutlet weak var postChart: UIImageView!
internal var aspectConstraint: NSLayoutConstraint? {
didSet {
if oldValue != nil {
postChart.removeConstraint(oldValue!)
}
if aspectConstraint != nil { …
Run Code Online (Sandbox Code Playgroud) Leaflet 地图有一个插件,它添加了一个按钮,该按钮通向具有位置自动完成功能的搜索栏(链接)。如何从插件中获取自动完成功能并使用我自己的自定义搜索栏?
ios ×8
swift ×5
autolayout ×1
core-data ×1
firebase ×1
leaflet ×1
mach-o ×1
nsurl ×1
nsurlsession ×1
objective-c ×1
sdwebimage ×1
uistackview ×1