2016-01-25 62 views
0

嗨,大家好,我有一个问题。在许多视频之后,我不明白如何使用Core Data来存储阵列。快速核心数据阵列

我有一个应用程序,在一个视图中,我推出了16 TextLabel。我需要使用Core Data来存储字符串列表。当我启动程序时,我需要从数组中加载数据。但有时我需要用文本字段中的文本更改一个TextLabel的数据,然后重新加载所有16个文本标签。

有人可以帮助我的代码?

对不起,但我还没有理解它是如何工作的。

我已经创建了具有核心数据的项目。 谢谢所有

+0

我们希望能帮助您解决代码问题,但请分享您已拥有的代码,以便我们可以从某处开始。 –

+0

http://stackoverflow.com/questions/4546811/store-nsarray-in-core-data-sample-code – DogCoffee

回答

1

的第一个建议:用tag s的标签替换所有的网点。这将产生更少的代码,这将更具可读性。您可以使用方便的循环来填写标签。例如,您的“主要”标签可能具有标签10-17,
您的“次要”标签可能具有标签20-27。

为了得到一个特定的标签,只需要使用

let label = view.viewWithTag(20) as! UILabel 

其次,用于存储16个字符串数组,使用NSUserDefaults这是更简单,专为这种数据量和类型。

NSUserDefaults.standardUserDefaults().setObject(array, forKey: "myArray") 
-1

有我的代码。在这个视图中,我想使用数组设置所有16个文本标签。当我按下其中一个文本标签下的按钮时,我需要更改granigliatoreTF中的字符串数据,然后重新加载所有16个文本标签。我只实现了一个启动按钮。感谢所有

进口的UIKit 进口CoreData

类DisposizioneGranigliatori:UIViewController中,UIPickerViewDelegate,UIPickerViewDataSource {

var disposizione = [NSManagedObject]() 

@IBOutlet var granigliatoreTF: UITextField! 
@IBOutlet var principale1LB: UILabel! 
@IBOutlet var principale2LB: UILabel! 
@IBOutlet var principale3LB: UILabel! 
@IBOutlet var principale4LB: UILabel! 
@IBOutlet var principale5LB: UILabel! 
@IBOutlet var principale6LB: UILabel! 
@IBOutlet var principale7LB: UILabel! 
@IBOutlet var principale8LB: UILabel! 

@IBOutlet var secondario1LB: UILabel! 
@IBOutlet var secondario2LB: UILabel! 
@IBOutlet var secondario3LB: UILabel! 
@IBOutlet var secondario4LB: UILabel! 
@IBOutlet var secondario5LB: UILabel! 
@IBOutlet var secondario6LB: UILabel! 
@IBOutlet var secondario7LB: UILabel! 
@IBOutlet var secondario8LB: UILabel! 

@IBOutlet var modifiche: UIView! 

@IBOutlet weak var picker: UIPickerView! 

var pickerData : [[String]] = [[String]]() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    modifiche.hidden = true 


    pickerData = [["12","161","164","165","176","177","245","246","247","250","255","256","262","263","266","267","268","269","270","271","274","275","278","287","289","290","293","301","303","306","307","308","328","330","336","337","340","344","346","347","352","355","357","374","377","381","383","387","391","394","395","399","400","401","403","417","421","423","430","F365","TGF 2666","FTS 2061"],["00","0,09","0,10","0,12","0,12-00","1400","Z","0,14-0,12","0,14","0,16","0,18","0,21","0,25","0,31","0,40","0,52","0,71"]] 

    self.picker.delegate = self 
    self.picker.dataSource = self 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

// The number of columns of data 
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
    return pickerData.count 
} 

// The number of rows of data 
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
    return pickerData[component].count 
} 

// The data to return for the row and component (column) that's being passed in 
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
    return pickerData[component][row] 
} 

} 


@IBAction func bigbagPrinc1(sender: AnyObject) { 
} 

@IBAction func bigbagSec1(sender: AnyObject) { 
} 

}

+0

你应该在你的问题中包括这个。使用问题下方的“编辑”链接。 –