Reputation: 169
I am trying to fetch phone numbers from core data and send sms message to multiple recipients.
Fetching numbers with for loop but i can't use it outside of the for loop. (I can write them to console but can not write into the "messageVC.recipients = tela;"
Error is "Use of unresolved identifier" I am using Xcode6
Here is my code ;
@IBAction func sendMessages(sender: AnyObject) {
let entityDescription =
NSEntityDescription.entityForName("Person",
inManagedObjectContext: managedObjectContext!)
let request = NSFetchRequest()
request.entity = entityDescription
var error: NSError?
var objects = managedObjectContext?.executeFetchRequest(request,
error: &error)
if let results = objects {
if results.count > 0 {
var saydir = results.count - 1
for (var i=0; i < results.count; i++) {
let match = results[i] as NSManagedObject
var tela = match.valueForKey("number") as String
println(tela)
}
} else {
}
}
var messageVC = MFMessageComposeViewController()
messageVC.recipients = tela;
messageVC.body = "text1" + "text2";
messageVC.messageComposeDelegate = self;
self.presentViewController(messageVC, animated: false, completion: nil)
}
Upvotes: 0
Views: 696
Reputation: 6612
The scope of your var tela = match.valueForKey("number") as String
is within your for-loop (i.e. not accessible outside your for-loop).
You either have to :
tela
variable you have.Edit 1 :
The code could be something like this (not tested) :
@IBAction func sendMessages(sender: AnyObject) {
let entityDescription =
NSEntityDescription.entityForName("Person",
inManagedObjectContext: managedObjectContext!)
let request = NSFetchRequest()
request.entity = entityDescription
var error: NSError?
var recipients = [String]()
if let results = managedObjectContext?.executeFetchRequest(request,
error: &error) {
if results.count > 0 {
var saydir = results.count - 1
for (var i=0; i < results.count; i++) {
let match = results[i] as NSManagedObject
var tela = match.valueForKey("number") as String
println(tela)
recipients.append(tela)
}
} else {
}
}
var messageVC = MFMessageComposeViewController()
messageVC.recipients = recipients;
messageVC.body = "text1" + "text2";
messageVC.messageComposeDelegate = self;
self.presentViewController(messageVC, animated: false, completion: nil)
}
Upvotes: 1