2016-06-11 6 views
1

String 문장의 첫 단어를 변수로 사용하려고합니다. 그렇게하는 방법? 로컬 알림이있어서 메시지 첫 번째 단어를 변수로 사용해야합니다. 가능합니까? LocalNotifications의 경우 간편한 취급을 위해 LocalNotificationHelper 라이브러리를 사용합니다. 어쩌면 논리 문제는 있지만 그렇게 생각하지는 않습니다. 더 많은 것 같이 나는 Swift 언어에있는 충분한 선택권을 모른다.Swift에서 문장의 첫 단어를 얻는 방법

편집 : 또한 nameField.text!NSUserDefaults에 배열로 있습니다. 해당 배열에서 메시지 첫 단어를 삭제해야합니다. 지금은 그 배열에서 첫 번째 객체 만 제거하지만 nameField.text를 삭제해야하므로 솔루션이 아닙니다! 그 배열에서 LocalNotification가 튀어 나오고 사용자가 버튼을 클릭 할 때.

는 여기에 알림 메시지를 작성 :

LocalNotificationHelper.sharedInstance().scheduleNotificationWithKey("text", title: "see options(left)", message: nameField.text!+"some text", date: deadlinePicker.date, userInfo: userInfo) 

가 지금은 앱 시작시 변수가 될하기 위해 message:nameField.text!이 필요합니다.

이 내가 알림 버튼 동작을 트리거하는 방법입니다

NSNotificationCenter.defaultCenter().addObserver(self, selector: "someFunction:", name: IDENTIFIER, object: nil) 
+3

는 단어를 정의하는 것에 대해 생각하고 인간이 첫 번째 단어를 추출대로, 다음 코드에서 동일한 작업을 수행하는 방법. – luk2302

+0

왜 사용자 정보를 사용하지 않습니까 ?? 아니면 알림 메시지 텍스트를 만드는 것입니까? – Wain

+0

@Wain, 내 게시물을 편집했는지 확인하십시오. 해당 알림에 대한 변수를 만들지 않기 위해 변수로 수신하고 싶습니다. –

답변

4

당신은 공백 문자를 사용하여 다음 첫 번째 요소를 추출하여 문장을 분할 할 수 있습니다.

let sentence = "What a wonderful world" 
if let firstWord = sentence.characters.split(" ").first.map(String.init) { 
    print(firstWord) // "What" 
} 
+0

이 firstWord를 NSUserDefaults에 저장해야합니까? 로드가 필요하기 때문에 사용해야합니다. –

+1

나는 당신의 질문에 답을하였습니다. 새로운 질문이 있으면 새 게시물을 만드십시오. –

+0

나는 아직도 첫 번째 단어가 항상 textField 값이기 때문에 당신이하지 않았다고 생각합니다. 마지막으로 마지막 값을 입력하면 마지막으로 상수가되는 코드를 입력합니다. –

2

스위프트 3

let sentence = "First word needed" 
let word = sentence.components(separatedBy: " ").first 
print(word) // First 
관련 문제